Я использую JMS конечные точки и Apache ActiveMQ в моем Mule приложения (я следовал учебнику и не уверен, если я делаю то, что нужно, опираясь на JMS в качестве конечных точек)Как сохранить очередь, содержащую сообщение Java в Mule ESB?
<jms:activemq-connector name="jms-connector" brokerURL="${BrokerURL}" disableTemporaryReplyToDestinations="true" specification="1.1"/>
<jms:endpoint connector-ref="jms-connector" exchange-pattern="one-way" name="UnsortedOrders" queue="UnsortedOrders"/>
<jms:endpoint connector-ref="jms-connector" exchange-pattern="one-way" name="DestinationEMC" queue="DestinationEMC" />
<jms:endpoint connector-ref="jms-connector" exchange-pattern="one-way" name="DestinationOriginal" queue="DestinationOriginal"/>
На данный момент мне нужно авто -store (сохраняются на диске) очереди, связанные с тем, что сбой питания и другие сбои не уничтожат незавершенные процессы на вечность, и процесс продолжается, как только mule снова встает.
Я раньше использовал ObjectStore с тегом, но я не знаю, как связать его с очередью конечных точек JMS. это как я использовал ObjectStore раньше:
<spring:bean id="objectStore" class="org.mule.util.store.QueuePersistenceObjectStore"/>
<until-successful objectStore-ref="objectStore" maxRetries="${MaximumRetry}" secondsBetweenRetries="${RetryInterval}">
<http:outbound-endpoint address="${ECMURL}" exchange-pattern="one-way">
<transformer ref="contentTypeTextXML"/>
</http:outbound-endpoint>
</until-successful>
спасибо. хороший ответ. так что «Destination.EMC» ставит очередь на сохранение (на диске) очереди по умолчанию? я имею в виду даже при сбоях питания, я не потеряю данные, и они будут сохранены на диске? – MoienGK
Да, учитывая, что вы не отключили сохранение JMS-провайдера (ActiveMQ). Наверное, нет, если вы не знаете об этом. Вы также должны отправлять постоянные сообщения (которые они по умолчанию). –