1 下载
下载官网:http://activemq.apache.org/components/classic/
点击DownLoad进入下载页面
2 安装
下载的压缩包直接解压即可。
打开安装目录,运行activemq.bat
启动成功后,在浏览器中输入ActiveMQ 服务启动地址:http://127.0.0.1:8161/admin/,用户名:admin 密码:admin
3 向Active中发送消息
此时队列中消息是空的
创建一个Java工程,需要导入ActiveMQ的jar包,jar位置在解压目录下
public class JMSProducer {
// 默认的连接用户名
private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
// 默认的连接密码
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
// 默认的连接地址
private static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main(String[] args) {
ConnectionFactory connectionFactory;//连接工厂
Connection connection = null;//连接
Session session;//会话
Destination destination;//消息目的地
MessageProducer messageProducer;//消息生产者
connectionFactory = new ActiveMQConnectionFactory(USERNAME,PASSWORD,BROKEURL);
try {
connection = connectionFactory.createConnection();//通过工厂获取连接
connection.start();//启动连接
//创建session
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("消息队列");
messageProducer = session.createProducer(destination);//创建消息生产者
//向对列中发送10条消息
for(int i = 0;i < 10;i++){
String message = i + "123456789";
TextMessage msg = session.createTextMessage(message);
messageProducer.send(destination,msg);
}
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally {
// 关闭连接
if(connection!=null){
try {
connection.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
运行成功后刷新浏览器,消息发送成功。
4 从消息队列中取消息
public class JMSConsumer {
// 默认的连接用户名
private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
// 默认的连接密码
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
// 默认的连接地址
private static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main(String[] args) {
ConnectionFactory connectionFactory;//连接工厂
Connection connection = null;//连接
Session session;//会话
Destination destination;//消息目的地
MessageConsumer consumer;//消息消费者
connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKEURL);
try {
connection = connectionFactory.createConnection();//通过工厂获取连接
connection.start();//启动连接
//创建session
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
//这里的名字要和ActiveMQ中的队列名字一致
destination = session.createQueue("消息队列");
consumer = session.createConsumer(destination);//创建消息消费者
//取走5条消息
for(int i = 0;i < 5;i++){
TextMessage message = (TextMessage) consumer.receive();
System.out.println(message.getText());//获取消息内容
}
session.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
}
控制台输出的内容:
0123456789
1123456789
2123456789
3123456789
4123456789
网友评论