0
WebLogic JMSからのメッセージを待機するようにDefaultMessageListenerContainerをコンフィグレーションしました。 WebLogicインスタンスには2つのインスタンスがあります。私は、消費者が常に1つのインスタンスだけに行き、インスタンス間で共有していないことに気付きました。Spring DefaultMessageListenerContainerコンシューマ
JMSインスタンスでDefaultMessageListenerContainer設定の問題が原因であるかどうかは誰か助言できますか?
@Bean
public DefaultMessageListenerContainer defaultMessageListenerContainer(MessageListenerAdapter eventListenerAdapter,
ConnectionFactory connectionFactory,
Destination destination) {
DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer();
messageListenerContainer.setSessionTransacted(true);
messageListenerContainer.setMessageListener(eventListenerAdapter);
messageListenerContainer.setMessageSelector("id='1' and name='department'");
messageListenerContainer.setDestination(destination);
messageListenerContainer.setConcurrency("3-6");
messageListenerContainer.setConnectionFactory(connectionFactory);
return messageListenerContainer;
}
@Bean(name = "destination")
public JndiObjectFactoryBean destination(JndiTemplate jndiTemplate) {
JndiObjectFactoryBean queueJndi = new JndiObjectFactoryBean();
queueJndi.setJndiTemplate(jndiTemplate);
queueJndi.setJndiName("DEPT_QUEUE");
return queueJndi;
}
@Bean(name = "connectionFactory")
public ConnectionFactory connectionFactory() {
return (ConnectionFactory) jmsConnectionFactory().getObject();
}
@Bean(name = "eventListenerAdapter")
public MessageListenerAdapter eventListenerAdapter() {
MessageListenerAdapter messageListenerAdapter = new MessageListenerAdapter(processEventsListener);
messageListenerAdapter.setDefaultListenerMethod("processEvents");
messageListenerAdapter.setMessageConverter(null);
return messageListenerAdapter;
}