重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

如何使用ActiveMQ测试小程序

时间:2020-09-07 22:00:10 作者:重庆seo小潘 来源:
介绍 Active MQ是个消息队列管理器,用于通讯的中间件。现在由我来给大家介绍一下如何使用ActiveMQ测试小程序。首先需要下载ActiveMQ,并修改内存 修改bin目录下activemq.bat 在最后一行加入set ACTIVEMQ_OPTS=-Xms1G -Xmx1G保存后执行该bat文件 新建maven项

介绍 Active MQ是个消息队列管理器,用于通讯的中间件。现在由我来给大家介绍一下如何使用ActiveMQ测试小程序。首先需要下载ActiveMQ,并修改内存

修改bin目录下activemq.bat 在最后一行加入set ACTIVEMQ_OPTS=-Xms1G -Xmx1G保存后执行该bat文件 新建maven项目 pom文件中加入依赖<dependencies><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-all</artifactId><!--我的mq版本为5.9.0--><version>5.9.0</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-broker --><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-broker</artifactId><version>5.10.0</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-client --><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-client</artifactId><version>5.14.0</version></dependency></dependencies>发送端程序import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class Send {// private static final int SEND_NUMBER = 10;public static void main(String[] args){//ConnectionFactory:连接工厂,JMS用它创建连接ConnectionFactory connectionFactory;//Connection:JMS客户端到JMS Provider的连接Connection connection = null;//Session:一个发送或接收消息的线程Session session;//Destination:消息的目的地;消息的接收者Destination destination;//MessageProducer:消息发送者MessageProducer producer;//TextMessage message;//构造ConnectionFactory实例对象,此处采用ActiveMQ的实现jarconnectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");try{//构造从工厂得到连接对象connection = connectionFactory.createConnection();//启动connection.start();//获取操作连接session = connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE);//获取session注意参数值test是一个服务器的queue,须在ActiveMQ的console配置destination = session.createQueue("test");//得到发送者producer = session.createProducer(destination);//设置不持久化,实际情况请根据项目决定producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);//构造消息,这里写死了,项目就是参数,或者方法获取sendMessage(session,producer);session.commit();}catch (Exception e){e.printStackTrace();}finally {try {if(null != connection)connection.close();}catch (Throwable ignore){}}}public static void sendMessage(Session session, MessageProducer producer) throws Exception{for (int i = 1; i <= 100000; i++){TextMessage message = session.createTextMessage("今日天气asda" + i);//发送消息到目的地System.out.println("发送:"+message.getText());producer.send(message);}}}接收端程序import org.apache.activemq.ActiveMQConnection;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class revice {public static void main(String[] args) {ConnectionFactory connectionFactory;Connection connection = null;Session session;Destination destination;//接收者-消费者MessageConsumer messageConsumer;connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");try{connection = connectionFactory.createConnection();connection.start();session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);destination = session.createQueue("test");messageConsumer = session.createConsumer(destination);while(true){TextMessage message = (TextMessage) messageConsumer.receive(1000);if(null != message){System.out.println("收到:"+message.getText());}else{break;}message.acknowledge();}}catch(Exception ex){ex.printStackTrace();}finally{try{if(null != connection){connection.close();}}catch(Throwable ig){}}}} 相关推荐:

1ActiveMQ使用 2ActiveMQC#Client实现 3ActiveMQC++Client实现通

Yii的学习(5)--Active Record的关联,yii--active以上就是如何使用ActiveMQ测试小程序的详细内容,更多请关注小潘博客其它相关文章!