2017-06-22 24 views
0

这里是bean部分。如何在xml中点燃运行配置中的静态字段值

<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的点燃是基于弹簧的框架。

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

而不是设置这个默认值,你可以通过在点燃逐出策略设置最长场覆盖它。例如:

<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> 
0

public static final int DFLT_CACHE_SIZE = 100000;

它不只是静态字段。这是一个最终字段,没有办法改变它与弹簧配置。

相关问题