一、接收者

package com.demo.initservice;import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;public class Receiver {public static void main(String[] args) {// ConnectionFactory :连接工厂,JMS 用它创建连接
        ConnectionFactory connectionFactory;// Connection :JMS 客户端到JMS Provider 的连接Connection connection = null;// Session: 一个发送或接收消息的线程
        Session session;// Destination :消息的目的地;消息发送给谁.
        Destination destination;// 消费者,消息接收者
        MessageConsumer consumer;connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");try {// 构造从工厂得到连接对象connection = connectionFactory.createConnection();// 启动
            connection.start();// 获取操作连接session = connection.createSession(Boolean.FALSE,Session.AUTO_ACKNOWLEDGE);// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置destination = session.createQueue("FirstQueue");consumer = session.createConsumer(destination);while (true) {//设置接收者接收消息的时间,为了便于测试,这里谁定为100sTextMessage message = (TextMessage) consumer.receive(100000);if (null != message) {System.out.println("收到消息" + message.getText());} else {break;}}} catch (Exception e) {e.printStackTrace();} finally {try {if (null != connection)connection.close();} catch (Throwable ignore) {}}}
}

二、发送者

package JmsTemplateDemo;import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;public class Sender {private static final int SEND_NUMBER = 5;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注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置destination = session.createQueue("FirstQueue");// 得到消息生成者【发送者】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 <= SEND_NUMBER; i++) {TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + i);// 发送消息到目的地方System.out.println("发送消息:" + "ActiveMq 发送的消息" + i);producer.send(message);}}
}

转载于:https://www.cnblogs.com/tianzhongshan/p/6674235.html

ActiveMQ 实现消息接收发送相关推荐

  1. websocket多客户端接收消息_WebSocket之消息接收发送

    WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. 在 WebSocket API 中,浏览器和服务器 ...

  2. java activeMQ消息的发送与接收

    java activeMQ消息的发送与接收 activemq是我们经常用到的消息队列之一,比如说速度快,对spring的很好的支持,支持多种协议等等,今天我们就来看一下activeMQ消息的发送与接收 ...

  3. mfc 开启指定服务器,用MFC实现消息的发送和接收(含服务器)

    <用MFC实现消息的发送和接收(含服务器)>由会员分享,可在线阅读,更多相关<用MFC实现消息的发送和接收(含服务器)(33页珍藏版)>请在人人文库网上搜索. 1.精品好资料学 ...

  4. 微信公众平台--3.普通消息交互(发送与接收)

    微信是一个聊天工具,实现消息交互是一个很基础且重要的功能,在公众号中,用户关注后,可以给公众号发消息,公众号可以通过将消息转发给客服接待或者是直接根据用户发送的消息回复用户.微信提供的文档其实挺清楚的 ...

  5. rabbitmq 启动异常_RabbitMQ:消息发送确认 与 消息接收确认(ACK)

    默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除 如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则 ...

  6. 下单消息的发送和接收案例

    案例 接下来我们模拟一种场景: 下单成功之后,向下单用户发送短信.设计图如下: 订单微服务发送消息 1 在shop-order 中添加rocketmq的依赖 <?xml version=&quo ...

  7. RabbitMQ:消息发送确认 与 消息接收确认(ACK)

    默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除 如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则 ...

  8. 【Spring Boot】Spring Boot之整合RabbitMQ并实现消息的发送和接收

    一.项目配置 1)引入maven坐标 <!--amqp--><dependency><groupId>org.springframework.boot</gr ...

  9. 探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收

    前言:上一篇文章 只是 RabbitMQ 的科普,本文将仔细分析 Cinder 中 RabbitMQ 的各组件的使用.消息的发送和接收等.由于各流程步骤很多,本文只会使用若干流程图来加以阐述,尽量做到 ...

最新文章

  1. java 线性表排序_Java线性表的排序
  2. mysql流行的四种高可用架构之:Keepalived+Mysql Replication
  3. 【Java】实战Java虚拟机之五“开启JIT编译”
  4. mysql某元素为空_PHP - MySQL,认为$ result在某些时刻是空的,当时应该有元素
  5. Machine Learning List
  6. java有常函数_Java开发笔记(十一)常见的数学函数
  7. 【损失函数】常见的损失函数(loss function)总结
  8. 计算机无线网络连接怎么弄,Win7系统如何设置无线网络连接?
  9. JSP javaweb餐厅点餐系统源码(点餐系统)jsp点餐系统网上订餐
  10. python定时启动任务_python--实现定时任务
  11. 硬件加速 | 基于FPGA的深度学习CNN加速器设计(论文复现)
  12. iPhone游戏开发纵谈
  13. 二、校园招聘面试过程-经验
  14. 在C#中设置打印机纸张大小,如此简单
  15. Jetson Nano控制SIM7020 开关机
  16. BZOJ 4668 冷战(按秩合并并查集+LCA)
  17. vue写一个轮播图实例(没有自动轮播)
  18. 正交法---测试用例设计方法
  19. sas univariate 结果解释_SAS 常用过程之 PROC UNIVARIATE
  20. 华硕笔记本重置计算机,win10系统华硕笔记本恢复出厂设置的详细方案

热门文章

  1. P2572 [SCOI2010]序列操作
  2. 第一个shell脚本
  3. Linux环境下安装Tigase XMPP Server
  4. Hibernate的懒加载问题
  5. 线程:CountDownLatch同步工具
  6. 效率极低人群的七大习惯你占了几项?
  7. SQL -- 数据字典生成工具
  8. 李爽久:平安云如何解决金融同业互联专线痛点
  9. 大数据挖掘在销售管理中的应用价值
  10. 最有二叉树 哈夫曼树