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

How to set value of static fields in ignite run configurations in xml

这是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 ignite 基于 spring 框架。

错误

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?

public static final int DFLT_CACHE_SIZE = 100000;

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

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

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