1.ActiveMQ的安装与使用
官方网站下载:http://activemq.apache.org/activemq-5159-release.html
点击下载,解压到任一地方。
解压成功后,点击bin\win64\activemq.bat运行,出现此界面即为成功
在浏览器输入http://localhost:8161/admin/,用户名和密码初始均为admin
安装不成功的可能原因:1.电脑主机名不是英文
2.未安装java运行环境
2.整合springboot
- 添加activemq依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
- 在application.properties中加入连接配置
#配置broker地址,默认端口号位61616 spring.activemq.broker-url=tcp://localhost:61616 #配置信任所有的包,支持发送对象消息 spring.activemq.packages.trust-all=true #配置用户名和密码 spring.activemq.user=admin spring.activemq.password=admin
-
配置一个消息队列
package jms.jms; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import javax.jms.Queue; @SpringBootApplication public class JmsApplication { public static void main(String[] args) { SpringApplication.run(JmsApplication.class, args); } //创建一个消息队列 @Bean Queue queue(){ return new ActiveMQQueue("amq"); } }
注意,此处的Queue由ActiveMQ提供
-
创建一个JMS组件来完成消息的发送和接收
@Component public class JmsComponent { @Autowired JmsMessagingTemplate jmsMessagingTemplate; @Autowired Queue queue; public void send(jms.jms.Entity.Message message){ jmsMessagingTemplate.convertAndSend((Destination) this.queue,message); } @JmsListener(destination = "amq")//表示相应的方法是一个消息消费者,其订阅的消息destination为amq public void receive(Message message){ System.out.println("receice:"+message); } }
-
创建测试类
@SpringBootTest class JmsApplicationTests { @Autowired JmsComponent jmsComponent; @Test void contextLoads() { Message message=new Message(); message.setContent("你好哦,欢迎一起学习"); message.setDate(new Date()); jmsComponent.send(message); } }
-
运行结果