回顾博客:
安装和部署activemq:http://blog.csdn.net/maiyikai/article/details/77197776
java操作activemq:http://blog.csdn.net/maiyikai/article/details/77198822
向高层学习,就要先了解最基本的,不然看不懂。
创建一个maven的web项目,导入依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringBootMQ</groupId>
<artifactId>SpringBootMQ</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SpringBootMQ Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<mybatis.spring.version>1.2.4</mybatis.spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.0</version>
</dependency>
</dependencies>
<build>
<finalName>SpringBootMQ</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
新建一个配置文件,这里使用yaml类型文件配置:application.yaml
自动注入类:ActiveMQProperties
#服务器部署端口
server:
port: 8088
spring:
activemq:
user: admin #该死的名字属性,只能是user
password: admin123
broker-url: tcp://localhost:61616 #神一般的连接通道
in-memory: true
pool:
enabled: false
#以下的没有具体的测试
expiry-timeout: 1000 #连接过期时间
idle-timeout: 1000 #连接空闲超时
max-connections: 1 #最大连接数
packages:
trust-all: false #信任所有包
trusted: #不信任的包
启动类Appilication.java:
@SpringBootApplication
@EnableJms
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
配置一个队列QueueConfig.java
@Configuration
public class QueueConfig {
@Bean
public Queue MessageQueue() {
return new ActiveMQQueue("myk"); //队列名
}
}
创建生产者:
@Component
public class LogProduce {
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
private Queue messageQueue;
public void send(String msg) {
this.jmsMessagingTemplate.convertAndSend(this.messageQueue, msg);
}
}
消费者使用监听的方式,如果是队列式,可以不用,但是一般都是先有消费者进行订阅操作,才由生产者发布消息:
@Component
public class LogCon {
@JmsListener(destination="myk")
public void gettext(String text){
System.err.println(text);
}
}
使用rest接口进行访问:
@Controller
@RequestMapping(value="/mq")
@ResponseBody
public class MQTest {
@Autowired
private LogProduce logProduce;
@ApiOperation("mq发送queue")
@RequestMapping(value="/sendQueue", method = RequestMethod.POST, consumes = "application/json")
public String sendQueue(){
try {
logProduce.send("fdd");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
}
调用接口,可以查看mq管理页面
或者通过控制台进行查看
大功告成…….
最简单的实现….