Для вашего потребительского приложения вам нужно добавить Factory Connection & amp; JMS-приемник сообщений для вашего потребительского JMS-шаблона для начала приема сообщений.
@Configuration
@EnableJms
public class ConsumerConfig {
@Value("${activemqbrokerurl}")
private String brokerUrl;
@Bean
public ActiveMQConnectionFactory activeMQConnectionFactory() {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory();
activeMQConnectionFactory.setBrokerURL(brokerUrl);
return activeMQConnectionFactory;
}
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(activeMQConnectionFactory());
factory.setConcurrency("{#setDesiredConcurrency}");
return factory;
}
}
MessagListenerContainer Spring должен использоваться для потребления сообщений. Это обеспечивает всю мощь MDB - эффективное потребление JMS и объединение слушателей сообщений - но без необходимости использования полного контейнера EJB. Вы можете использовать activemq-pool org.apache.activemq.pool.PooledConnectionFactory для эффективного объединения соединений и сеансов для вашей коллекции потребителей, или вы можете использовать Spring JMS org.springframework.jms.connection.CachingConnectionFactory для достижения того же эффекта.
Вы можете прочитать об этом здесь