Ehcache分布式多通道
Ehcache Distributed Multiple channel
我在分布式模式下使用 ehcache。
缓存由 channel 同步。
<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 会有所不同,您不会在第三个应用程序中包含缓存(这需要特定的复制逻辑)。
第一个是更简洁的方法。
您可以通过以下方式使用 Spring 拥有多个 EhcacheManagers,
<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。 缓存由 channel 同步。
<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 会有所不同,您不会在第三个应用程序中包含缓存(这需要特定的复制逻辑)。
第一个是更简洁的方法。 您可以通过以下方式使用 Spring 拥有多个 EhcacheManagers,
<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>