创建JmsProducer类,进行编码,在导包的时候,注意选择jsm的包,为了方便,我把代码贴出来。
package com.wsy.activemq.queue;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JmsProducer {
public static final String ACTIVEMQ_URL = "tcp://192.168.0.101:61616";
public static final String QUEUE_NAME = "queue01";
public static void main(String[] args) throws JMSException {
// 创建连接工厂,按照给定的url地址采用默认的用户名和密码
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(ACTIVEMQ_URL);
// 通过连接工厂,获取Connection并启动
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
// 创建Session
// 有两个参数,第一个是事务,第二个是签收,后面详细介绍
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 创建目的地(目的地有两个子接口,分别是Queue和Topic)
Queue queue = session.createQueue(QUEUE_NAME);
// 创建消息生产者,生产的消息放到queue中
MessageProducer messageProducer = session.createProducer(queue);
// 使用messageProducer生产消息发送到队列中
for (int i = 0; i < 3; i++) {
// 创建一条消息,可以理解成字符串
TextMessage textMessage = session.createTextMessage("message-" + i);
// 通过messageProducer发送消息给mq
messageProducer.send(textMessage);
}
// 按照资源打开的相反顺序关闭资源
messageProducer.close();
session.close();
connection.close();
}
}
打开ActiveMQ的前台管理界面,点击Queue,可以看到里面是空的,然后我们运行程序,刷新Queue的界面,会看到下面的界面。
上面的表头分别是:队列名称,队列中待处理消息的数量,消费者数量,入队消息总条数,出队消息条数,查看,操作。