我将 ehcache 与 JMS 复制和 ActiveMQ 一起用作 JMS 服务器。目前用于在 Hibernate 3.6.7 中缓存数据库结果
我的 cacheManager 配置如上:
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.jms.JMSCacheManagerPeerProviderFactory" properties="initialContextFactoryName=br.com.sonner.iss.jms.ExampleActiveMQInitialContextFactory,
providerURL=failover:tcp://localhost:6969,userName=XXX,password=YYYY,
replicationTopicConnectionFactoryBindingName=topicConnectionFactory,
replicationTopicBindingName=ehcache,
getQueueConnectionFactoryBindingName=queueConnectionFactory,
getQueueBindingName=ehcacheGetQueue"
propertySeparator=","
/>
复制和故障转移正常工作。如果 JMS 出现故障(复制停止)并且当 JMS 服务器再次启动时重新启动。
我面临的唯一问题是,如果 JMS 服务器在我的应用程序启动时关闭。应用程序无法启动。
可能是因为当 Spring 启动时,它会读取休眠配置,而当休眠加载应用程序时,它会冻结等待代理。
有没有人有解决这个问题的方法?
我在想是否有办法使用 spring jmsTemplate 配置来配置 ehcache.xml jndi 条目。