Spring Boot教程(4)-日志配置-logback和使用。
Spring Boot教程(5)-web应用开发-模板引擎Thymeleaf
Spring Boot教程(8)-使用SQL关系型数据库-JdbcTemplate
Spring Boot教程(9)-Spring-data-jpa
Spring Boot教程(10)-使用SQL关系型数据库-h2嵌入式数据库的使用
Spring Boot教程(12)-redis缓存设置,幂等性防重复提交
Spring Boot教程(13)-使用异步消息服务-JMS(ActiveMQ)
Spring Boot教程(14)-使用异步消息服务-AMQP(RabbitMQ)
Spring Boot教程(16)-集成Druid阿里数据库连接池
Spring Boot教程(17)-Spring Boot集成Swagger
一、添加依赖
<!-- jms -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
二、配置
# ACTIVEMQ (ActiveMQProperties)
spring.activemq.in-memory=true
#spring.activemq.broker-url=
#spring.activemq.password=
#spring.activemq.user=
#spring.activemq.packages.trust-all=false
#spring.activemq.packages.trusted=
#spring.activemq.pool.configuration.*=
#spring.activemq.pool.enabled=false
#spring.activemq.pool.expiry-timeout=0
#spring.activemq.pool.idle-timeout=30000
#spring.activemq.pool.max-connections=1
三、main方法增加注解
@EnableJms
@SpringBootApplication
@EnableJms
public class SpringbootdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootdemoApplication.class, args);
}
}
四、编写jms配置和component类
package com.wsj.springbootdemo.config;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.jms.Queue;
/**
* 项目名称:JmsConfiguration;
* 类 名 称:JmsConfiguration;
* 类 描 述:TODO ;
* 创 建 人:Angus;
* 创建时间:2020/5/7 15:23;
*
* @version:1.0
**/
@Configuration
public class JmsConfiguration {
@Bean
public Queue queue() {
return new ActiveMQQueue("wsj.queue");
}
}
package com.wsj.springbootdemo.component;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Component;
import javax.jms.Queue;
/**
* 项目名称:WsjJmsComponent;
* 类 名 称:WsjJmsComponent;
* 类 描 述:TODO ;
* 创 建 人:Angus;
* 创建时间:2020/5/7 15:36;
*
* @version:1.0
**/
@Component
public class WsjJmsComponent {
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
private Queue queue;
public void send(String msg) {
this.jmsMessagingTemplate.convertAndSend(this.queue, msg);
}
@JmsListener(destination = "wsj.queue")
public void receiveQueue(String text) {
System.out.println("接受到:" + text);
}
}
五、测试类
package com.wsj.springbootdemo.component;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class WsjJmsComponentTest {
@Autowired
private WsjJmsComponent wsjJmsComponent;
@Test
void send() {
wsjJmsComponent.send("hello world");
}
}
六、运行
github地址:https://github.com/itwsj/springbootdemo