spring boot 學習 ActiveMQ
阿新 • • 發佈:2018-12-24
window環境本地搭建環境
ActiveMQ官網下載地址:http://activemq.apache.org/download.html
安裝完成後啟動
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
啟動類:
@SpringBootApplication @EnableJms public class testApplication { Logger logger= LogManager.getLogger(getClass()); @Bean public ActiveMQQueue queue() { return new ActiveMQQueue("promoteAct"); } //沒有這段注入可能會出錯 @Bean public ConnectionFactory connectionFactory(){ ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); connectionFactory.setBrokerURL("tcp://localhost:61616"); connectionFactory.setUserName("admin"); connectionFactory.setPassword("admin"); logger.info("連線mq完成"); return connectionFactory; } @Bean public JmsTemplate genJmsTemplate(){ return new JmsTemplate(connectionFactory()); } @Bean public JmsMessagingTemplate jmsMessageTemplate(){ return new JmsMessagingTemplate(connectionFactory()); } public static void main(String[] args) { SpringApplication.run(LinuxtestApplication.class, args); }
/** * 生產者 */ @RestController public class Productor { @Autowired private JmsMessagingTemplate jmsMessagingTemplate; @Autowired private ActiveMQQueue queue; @RequestMapping("/sendMsg") public void send(String msg) { jmsMessagingTemplate.convertAndSend(this.queue, msg); } }
/**
* 消費者
*/
@Component
public class Customer {
Logger logger = LogManager.getLogger(getClass());
@JmsListener(destination = "promoteAct")
public void receiveQueue(String message) {
logger.info("訊息已經消費 message:" + message);
}
}