Java SpringBoot 整合 ActiveMQ
瞭解springcloud架構可以加求求:三五三六二四七二五九
一、 如果要想在專案之中去使用 ActiveMQ 元件,則應該為專案新增依賴支援庫,修改 pom.xml 配置檔案:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
二、修改 application.yml 配置檔案進行 activemq 的配置;
server: port: 80 spring: messages: basename: i18n/Messages,i18n/Pages jms: pub-sub-domain: false # 配置訊息的型別,如果是true則表示為topic訊息,如果為false表示Queue訊息 activemq: user: studyjava # 連線使用者名稱 password: hello # 連線密碼 broker-url: tcp://activemq-server:61616 # 訊息元件的連線主機資訊
三、
隨後定義一個訊息的消費者,消費者主要是進行一個監聽控制,在 SpringBoot 裡面可以直接利用註解@JmsListener進行監聽:
package cn.study.microboot.consumer; import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Service; @Service public class MessageConsumerService { @JmsListener(destination="study.msg.queue") public void receiveMessage(String text) { // 進行訊息接收處理 System.err.println("【*** 接收訊息 ***】" + text); } }
四、
隨後建立訊息的傳送者服務,一般而言如果進行訊息的傳送往往會準備出一個業務介面來:
package cn.study.microboot.producer; public interface IMessageProducerService { public void sendMessage(String msg) ; }
五、隨後建立一個配置程式類,定義 ActiveMQ 的訊息傳送模版處理類:
package cn.study.microboot.config; import javax.jms.Queue; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jms.annotation.EnableJms; @Configuration @EnableJms public class ActiveMQConfig { @Bean public Queue queue() { return new ActiveMQQueue("study.msg.queue") ; } }
六、
建立訊息傳送的子類實現訊息傳送處理:
package cn.study.microboot.producer.impl; import javax.annotation.Resource; import javax.jms.Queue; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Service; import cn.study.microboot.producer.IMessageProducerService; @Service public class MessageProducerServiceImpl implements IMessageProducerService { @Resource private JmsMessagingTemplate jmsMessagingTemplate; @Resource private Queue queue; @Override public void sendMessage(String msg) { this.jmsMessagingTemplate.convertAndSend(this.queue, msg); } }
七、
編寫測試類來觀察訊息的處理:
package cn.study.microboot.test; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import cn.study.microboot.StartSpringBootMain; import cn.study.microboot.producer.IMessageProducerService; @SpringBootTest(classes = StartSpringBootMain.class) @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration public class TestActiveMQ { @Resource private IMessageProducerService messageProducer; @Test public void testSend() throws Exception { for (int x = 0; x < 10; x++) { this.messageProducer.sendMessage("study - " + x); } } }
基於 SpringBoot 配置的 JMS 的元件訪問整體的處理十分簡單
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952307/viewspace-2677363/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringBoot2.0應用(二):SpringBoot2.0整合ActiveMQSpring BootMQ
- SpringBoot2.0原始碼分析(二):整合ActiveMQ分析Spring Boot原始碼MQ
- ActiveMq整合SpringMQSpring
- Spring與ActiveMQ整合SpringMQ
- Java SpringBoot 整合 RabbitMQJavaSpring BootMQ
- springboot + activeMQ基本使用Spring BootMQ
- ActiveMQ+ZooKeeper 叢集整合MQ
- ActiveMQ+ZooKeeper 偽叢集整合MQ
- Spring+ActiveMQ整合測試SpringMQ
- Java-SpringBoot整合SpringCloudJavaSpring BootGCCloud
- Spring Boot 整合ActiveMQ的過程Spring BootMQ
- java~springboot~gradle裡的docker整合JavaSpring BootGradleDocker
- SpringBoot整合系列-整合JPASpring Boot
- ActiveMQ的使用及整合spring的使用例項MQSpring
- springboot activemq This class is not trusted to be serialized as ObjectMessage payload .Spring BootMQRustZedObject
- SpringBoot 整合 rabbitmqSpring BootMQ
- SpringBoot 整合 elkSpring Boot
- SpringBoot 整合 elasticsearchSpring BootElasticsearch
- SpringBoot 整合 apolloSpring Boot
- springboot整合redis?Spring BootRedis
- SpringBoot整合RedisSpring BootRedis
- flowable 整合 springbootSpring Boot
- SpringBoot整合MQTTSpring BootMQQT
- ElasticSearch 整合 SpringBootElasticsearchSpring Boot
- SpringBoot整合ESSpring Boot
- Springboot整合pagehelperSpring Boot
- springBoot整合thymeleafSpring Boot
- SpringBoot 整合 RedisSpring BootRedis
- SpringBoot整合NacosSpring Boot
- SpringBoot 整合 dockerSpring BootDocker
- Springboot整合RabbitMQSpring BootMQ
- springBoot整合flowableSpring Boot
- Springboot整合MyabitsSpring Boot
- springBoot 整合 mybatisSpring BootMyBatis
- SpringBoot整合elasticsearchSpring BootElasticsearch
- Springboot整合MybatisSpring BootMyBatis
- RocketMQ整合SpringBootMQSpring Boot
- 【SpringBoot】整合RedisSpring BootRedis