Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 10:28:05.282 [ActiveMQ InactivityMonitor WriteCheckTimer] DEBUG o.a.a.t.AbstractInactivityMonitor - WriteChecker: 10000ms elapsed since last write check.
- 10:28:05.282 [ActiveMQ InactivityMonitor Worker] DEBUG o.a.a.t.AbstractInactivityMonitor - Running WriteCheck[tcp://10.211.127.203:61616]
- @Configuration
- @EnableJms
- @ImportResource("classpath*:beans.xml")
- public class MessagingConfiguration {
- @Autowired
- MongoCredentialEncryptor encryptor;
- @Value("${activemq.broker.url}")
- private String BROKER_URL = "tcp://localhost:61616";
- @Value("${activemq.request.queue}")
- private String REQUEST_QUEUE = "test.request";
- @Value("${activemq.response.queue}")
- private String RESPONSE_QUEUE = "test.response";
- @Value("${activemq.borker.username}")
- private String BROKER_USERNAME = "admin";
- @Value("${activemq.borker.password}")
- private String BROKER_PASSWORD = "TmzqjEcPAxdE7Do80EW5sQ=="; //admin
- @Autowired
- ListenerClass messageListener;
- @Autowired
- JmsExceptionListener jmsExceptionListener;
- @Bean
- public ActiveMQConnectionFactory connectionFactory() {
- ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
- connectionFactory.setBrokerURL(BROKER_URL);
- connectionFactory.setUserName(BROKER_USERNAME);
- //connectionFactory.setPassword(BROKER_PASSWORD);
- connectionFactory.setPassword(encryptor.decrypt(BROKER_PASSWORD));
- connectionFactory.setTrustAllPackages(true);
- connectionFactory.setRedeliveryPolicy(redeliveryPolicy());
- return connectionFactory;
- }
- @Bean
- public RedeliveryPolicy redeliveryPolicy() {
- RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
- redeliveryPolicy.setBackOffMultiplier(3); // Wait 5 seconds first re-delivery, then 15, 45 seconds
- redeliveryPolicy.setInitialRedeliveryDelay(5000);
- redeliveryPolicy.setMaximumRedeliveries(3);
- redeliveryPolicy.setUseExponentialBackOff(true);
- return redeliveryPolicy;
- }
- @Bean
- public ConnectionFactory cachingConnectionFactory() {
- CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
- connectionFactory.setTargetConnectionFactory(connectionFactory());
- connectionFactory.setExceptionListener(jmsExceptionListener);
- connectionFactory.setSessionCacheSize(100);
- connectionFactory.setCacheConsumers(false);
- connectionFactory.setCacheProducers(false);
- return connectionFactory;
- }
- @Bean
- public JmsTemplate jmsTemplate() {
- JmsTemplate template = new JmsTemplate();
- template.setConnectionFactory(connectionFactory());
- template.setDefaultDestinationName(REQUEST_QUEUE);
- template.setSessionAcknowledgeModeName("CLIENT_ACKNOWLEDGE");
- template.setMessageConverter(converter());
- return template;
- }
- @Bean
- public DefaultMessageListenerContainer jmsListenerContainer() {
- DefaultMessageListenerContainer factory = new DefaultMessageListenerContainer();
- factory.setConnectionFactory(connectionFactory());
- factory.setConcurrency("1-1");
- factory.setDestinationName(RESPONSE_QUEUE);
- factory.setMessageListener(messageListener);
- factory.setExceptionListener(jmsExceptionListener);
- return factory;
- }
- @Bean
- MessageConverter converter() {
- MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
- converter.setTargetType(MessageType.TEXT);
- converter.setTypeIdPropertyName("_type");
- return converter;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement