如何在xml中点燃运行配置中设置静态字段的值

时间:2017-06-22 06:04:20

标签: xml spring ignite

这是bean部分。

<bean class="org.apache.ignite.configuration.CacheConfiguration">
     <property name="name" value="cfgCache"/>
     <property name="cacheMode" value="REPLICATED"/>
     <property name="static.DFLT_CACHE_SIZE" value="1000000"/>
     <!--property name="atomicityMode" value="ATOMIC"/-->
</bean>

如何设置DFLT_CACHE_SIZE的值? 或任何静态场?

文档:

static int  DFLT_CACHE_SIZE
Default cache size to use with eviction policy.
DFLT_CACHE_SIZE = 256MB 

Apache点燃基于spring框架。

ERR

WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'grid.cfg' defined in URL [file:/home/ignite/sample-cache.xml]: Cannot create inner bean
 'org.apache.ignite.configuration.CacheConfiguration#4cc0edeb' of type [org.apache.ignite.configuration.CacheConfiguration] while setting bean
 property 'cacheConfiguration' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with
 name 'org.apache.ignite.configuration.CacheConfiguration#4cc0edeb' defined in URL [file:/home/ignite/sample-cache.xml]: Error setting property
 values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'DFLT_CACHE_SIZE' of bean class
 [org.apache.ignite.configuration.CacheConfiguration]: Bean property 'DFLT_CACHE_SIZE' is not writable or has an invalid setter method. Does the
 parameter type of the setter match the return type of the getter?

2 个答案:

答案 0 :(得分:2)

您可以通过在Ignite的逐出策略中设置max field来覆盖它,而不是设置此默认值。例如:

<bean class="org.apache.ignite.configuration.CacheConfiguration">
            <property name="name" value="cfgCache"/>
            <property name="cacheMode" value="REPLICATED"/>
            <property name="evictionPolicy">
                <bean class="org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicy">
                    <property name="maxSize" value="100"/>
                </bean>
            </property>
</bean>

答案 1 :(得分:0)

public static final int DFLT_CACHE_SIZE = 100000;

这不仅仅是静态领域。这是一个最终字段,无法使用spring配置更改它。