day20201022 - mq in sb
pom.xml

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
properites

spring: activemq: user: admin password: admin broker-url: tcp://127.0.0.1:61616
config && use

package com.xingan.customized.bus.config; import org.apache.activemq.command.ActiveMQTopic; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jms.annotation.EnableJms; import org.springframework.jms.annotation.JmsListener; import org.springframework.jms.config.DefaultJmsListenerContainerFactory; import org.springframework.jms.config.JmsListenerContainerFactory; import org.springframework.jms.core.JmsTemplate; import org.springframework.scheduling.annotation.Scheduled; import javax.jms.ConnectionFactory; @EnableJms @Configuration public class ActiveMQConfig { @Autowired private JmsTemplate jmsTemplate; private String destination = "destination"; @Bean public JmsListenerContainerFactory<?> topicListenerFactory(ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setPubSubDomain(true); factory.setConnectionFactory(connectionFactory); return factory; } @Bean public JmsListenerContainerFactory<?> queueListenerFactory(ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setPubSubDomain(false); factory.setConnectionFactory(connectionFactory); return factory; } @Scheduled(cron = "*/30 * * * * * ") public void send() { System.out.println("send ...."); jmsTemplate.convertAndSend(new ActiveMQTopic(destination), "hello world"); } @JmsListener(destination = "destination ", containerFactory = "topicListenerFactory") public void subscribe(String message) { System.out.println("recevie ..." + message); } }