一、接收者

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. Delphi中点击DBGrid某一行获得其详细数据方法
  2. RK1109 RK1126等芯片来袭,2020年瑞芯微旗下SoC一览
  3. textmetric结构
  4. LAMP 之 Apache 用户认证
  5. Android 创建一个新的Activity
  6. swift学习之元组
  7. Java中String,StringBuffer,StringBuilder的区别及其使用
  8. DSP 2812: 使用C++封装外设时钟控制
  9. java链接ev3_乐高机器人ev3 usb连接电脑方法lejos
  10. 将两张图片合并成一个PDF,不收费
  11. 网页动画的12原则,帮你做出漂亮的动画效果
  12. camera raw 13.2中文版
  13. 【Python】开发笔记
  14. ESLint 报 ‘require‘ is not defined no-undef
  15. 联想拯救者笔记本U盘重装win10系统教学
  16. 桌面文件丢失如何找回?这两个方法值得一试
  17. 基础算法练习:杨辉三角形
  18. 对比:空洞卷积与转置卷积(吉米王)
  19. html简单的时分秒计时器,时分秒自定义倒计时计时器
  20. ESP8266 上电 boot 模式

热门文章

  1. JS中定时器setTimeout,setInterval,clearTimeout,clearInterval用法
  2. 高通平台smd分析及smem共享内存的创建笔记
  3. tensorflow RNN循环神经网络 (分类例子)-【老鱼学tensorflow】
  4. MySQL Group Replication 介绍
  5. HTML5 浏览器支持(怎么样让低版本浏览器支持html5?)
  6. 【转载】Kafka介绍及升级经验分享
  7. SQL查询除了某一列的其他列
  8. ASP.NET-get与post模式的区别
  9. ls 命令还能这么玩?看一下这 20 个实用范例
  10. 研诺首款D类音频放大器延长便携应用中的电池寿命