2017-06-22 21 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;

它不只是靜態字段。這是一個最終字段,沒有辦法改變它與彈簧配置。

相關問題