java – Ehcache分布式多通道

我在ditributed模式下使用ehcache.
缓存通过通道同步.

<cacheManagerPeerProviderFactory
    class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
    properties="channelName=CHANNEL1:connect=UDP(mcast_port=45568)"
    propertySeparator=":" />

对于新的要求,我需要与两个通道同步:CHANNEL1和CHANNEL2.

这可能吗 ?如果是的话,我怎么能这样做?

提前致谢

解决方法:

通常,一个cacheManagerPeerProviderFactory实例用于跨群集复制(或同步)多个缓存.在这种情况下,“channelName = CHANNEL1:”更像是简单地给出一个名字.我不认为ehCache支持多个频道.

如果您要求具有某些特定于复制的通道,则可以尝试以下操作之一

>在同一个应用程序中运行两个EhCache Manager,每个管理器都带有ehcache.xml,一个用于特定的复制逻辑,另一个用于缓存的公共复制逻辑.
>您将只有一个缓存管理器,但您的ehcache.xml会有所不同,您不会在第三个应用程序中包含缓存(需要特定的复制逻辑).

第一个是更清洁的方法.
您可以通过以下方式将多个EhcacheManagers与Spring配合使用,

<ehcache:annotation-driven cache-manager="ehCacheManager1" />

<bean id="ehCacheManager1" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation" value="classpath:ehcache-1.xml" />
</bean>

<bean id="ehCacheManager2" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation" value="classpath:ehcache-2.xml" />
</bean>
上一篇:如何在EHCache实例中使用元素版本控制?


下一篇:java – HIbernate 3.5.1 – 我可以直接使用EHCache 2.0.1吗?