我正在使用DefaultMessageListenerContainer來使用來自主題(Broker是ActiveMQ)的郵件。因爲消費者在運行時創建我做的是以下幾點:使用DefaultMessageListenerContainer從主題丟失郵件
1)我有一個Conainer模板春季
<bean id="topiccontainertemplate" class="org.springframework.jms.listener.DefaultMessageListenerContainer" scope="prototype" destroy-method="stop">
<property name="connectionFactory" ref="connectionfactory" />
<property name="pubSubDomain" value="true" />
<property name="cacheLevelName" value="CACHE_CONSUMER" />
<property name="destinationName" value="default" />
</bean>
2)當需要新的消費我從一個新的配置應用程序conext並重新配置destinationName。
DefaultMessageListenerContainer container = context.getBean("topiccontainertemplate", DefaultMessageListenerContainer.class);
container.setDestinationName(localEntity.getId().getDestination());
container.setMessageListener(getListener());
container.start();
不幸的是,容器遺漏了關於該主題的一些消息。 有人知道我在做什麼錯嗎?
「某些消息」是什麼意思?它們是初始信息還是間歇性的? – sully6768
@ sully6768它不是最初的信息。中間的一些消息似乎消失了(我仍在調查)。 – Laures