如何在hybris中创建一个新的缓存区域

How to create a new cache region in hybris

我需要为一组特定的模型创建一个新区域。我已经关注 documentation about RegionCache 但它不起作用。

配置如下:

<alias name="defaultTestCacheRegion" alias="testCacheRegion"/>
<bean name="defaultTestCacheRegion" class="de.hybris.platform.regioncache.region.impl.EHCacheRegion">
    <constructor-arg name="name" value="testCacheRegion" />
    <constructor-arg name="maxEntries" value="${regioncache.testcacheregion.maxentries}" />
    <constructor-arg name="evictionPolicy" value="${regioncache.testcacheregion.evictionpolicy}" />
    <constructor-arg name="statsEnabled" value="${regioncache.stats.enabled}" />
    <constructor-arg name="exclusiveComputation" value="${regioncache.exclusivecomputation}" />
    <property name="handledTypes">
        <array>
            <value>25049</value>
            <value>25050</value>
            <value>25051</value>
        </array>
    </property>
</bean>
<bean id="testCacheRegionRegistrar" class="de.hybris.platform.regioncache.region.CacheRegionRegistrar" c:region-ref="testCacheRegion" />

我真的很怀念 Spring 上下文在 hybris 中是如何工作的。由于它必须可以从所有应用程序上下文访问,因此必须在全局级别进行设置。

All application contexts have as the parent the global application context.

缓存区域 bean 必须在 "global" spring 文件中定义。在 hybris 中,它是通过设置这个 属性 来完成的。 (my_cache.xml 必须在 resourcesproject_name

<project_name>.global-context=my_cache.xml