Guest User

Untitled

a guest
Apr 26th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. @Configuration
  2. @EnableJms
  3. public class ListenerConfigurer implements JmsListenerConfigurer {
  4.  
  5. @Autowired
  6. private List<JmsListenerConfig> listenerConfigs;
  7.  
  8.  
  9. @Autowired
  10. private ConnectionFactory connectionFactory;
  11.  
  12.  
  13. @Override
  14. public void configureJmsListeners(JmsListenerEndpointRegistrar registrar) {
  15.  
  16. for(JmsListenerConfig jmsListenerConfig : listenerConfigs) {
  17.  
  18. SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint();
  19. endpoint.setId(jmsListenerConfig.getEndpointName());
  20. endpoint.setDestination(jmsListenerConfig.getEndpointName());
  21. endpoint.setMessageListener(message -> {
  22. TextMessage txtMessage = (TextMessage) message;
  23.  
  24. try {
  25. jmsListenerConfig.getMessageReceiveHandler().handle(txtMessage.getText());
  26. }catch (JMSException e){
  27. e.printStackTrace();
  28. }
  29. });
  30.  
  31. DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
  32. factory.setConnectionFactory(connectionFactory);
  33. factory.setSubscriptionDurable(true);
  34. factory.setPubSubDomain(true);
  35. factory.setClientId(jmsListenerConfig.getClientUid());
  36.  
  37. DefaultMessageListenerContainer container = factory.createListenerContainer(endpoint);
  38. endpoint.setupListenerContainer(container);
  39.  
  40. registrar.registerEndpoint(endpoint, factory);
  41. registrar.setContainerFactory(factory);
  42. }
  43. }
  44. }
Add Comment
Please, Sign In to add comment