一、下载activemq
在官网下载 http://activemq.apache.org/activemq-5157-release.html
点击如图所示下载(本人用的是Windows,linux网上查一下就好)然后进行解压即可![在这里插入图片描述](https://img-blog.csdnimg.cn/20201229102617111.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0ODY2NDYy,size_16,color_FFFFFF,t_70)
二、安装activemq
bin存放的是脚本文件
conf存放的是基本配置文件
data存放的是日志文件
docs存放的是说明文档
examples存放的是简单的实例
lib存放的是activemq所需jar包
webapps用于存放项目的目录
经过使用过程总结的一些配置文件
conf/activemq.xml 可以修改tcp端口号61616
conf/jetty.xml 117行此处可以修改控制台端口号
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
conf/jetty-realm.properties 配置控制台用户名密码 角色
conf/users.properties 配置调用接口用户名密码
三、项目引入mq
1.首先引入jar包,在pom文件中加入引用
<!-- activemq -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.6.0</version>
</dependency>
2、在applicationContext中做好配置
<!-- activemq -->
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616?wireFormat.maxInactivityDuration=0</value>
</property>
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<ref bean="connectionFactory"/>
</property>
</bean>
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0">
<value>MessageQueue</value>
</constructor-arg>
</bean>
3、编写demo
3.1 消息生产者
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import org.springframework.jms.core.MessageCreator;
/**
* 消息生产者
* @author 666yjw
*
*/
public class MyMessageCreator implements MessageCreator{
public int n = 0;
private static String str1 = "这个是第 ";
private static String str2 = " 个测试消息!";
private String str = "";
@Override
public Message createMessage(Session paramSession) throws JMSException {
System.out.println("MyMessageCreator n=" + n);
if (n == 9) {
//在这个例子中表示第9次调用时,发送结束消息
return paramSession.createTextMessage("end");
}
str = str1 + n + str2;
return paramSession.createTextMessage(str);
}
}
3.2 发送消息方
import javax.jms.Destination;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jms.core.JmsTemplate;
/**
* 发送消息方
* @author 666yjw
*
*/
public class MessageSender extends Thread{
public static void main(String args[]) throws Exception {
//在这里要注意applicationContext.xml地址,要和本地一致
String[] configLocations = new String[] {
"applicationContext.xml"};
ApplicationContext context