Как настроить ehcache.xml для использования JMS + ActiveMQ + Tomcat и включить запуск tomcat, даже если сервер JMS не работает?
Я использую 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 поднимается, он читает конфигурации гибернации, а когда загружается hibernate, приложение просто замирает в ожидании брокера.
У кого-нибудь есть решение этой проблемы?
Я думаю, есть ли способ использовать конфигурацию Spring jmsTemplate для настройки записей jhdi ehcache.xml.