博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Active入门】ActiveMQ学习-1
阅读量:7067 次
发布时间:2019-06-28

本文共 3457 字,大约阅读时间需要 11 分钟。

基本概念:


接收者:

 
  1. package com.ll.activemq;
  2. import java.util.Collection;
  3. import java.util.Iterator;
  4. import javax.jms.Connection;
  5. import javax.jms.ConnectionFactory;
  6. import javax.jms.Destination;
  7. import javax.jms.MapMessage;
  8. import javax.jms.MessageConsumer;
  9. import javax.jms.Session;
  10. import javax.jms.TextMessage;
  11. import org.apache.activemq.ActiveMQConnection;
  12. import org.apache.activemq.ActiveMQConnectionFactory;
  13. public class Receiver {
  14. public static void main(String[] args) {
  15. // ConnectionFactory :连接工厂,JMS 用它创建连接
  16. ConnectionFactory connectionFactory;
  17. // Connection :JMS 客户端到JMS Provider 的连接
  18. Connection connection = null;
  19. // Session: 一个发送或接收消息的线程
  20. Session session;
  21. // Destination :消息的目的地;消息发送给谁.
  22. Destination destination;
  23. // 消费者,消息接收者
  24. MessageConsumer consumer;
  25. connectionFactory = new ActiveMQConnectionFactory(
  26. ActiveMQConnection.DEFAULT_USER,
  27. ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");
  28. try {
  29. // 构造从工厂得到连接对象
  30. connection = connectionFactory.createConnection();
  31. // 启动
  32. connection.start();
  33. // 获取操作连接
  34. session = connection.createSession(Boolean.FALSE,
  35. Session.AUTO_ACKNOWLEDGE);
  36. // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置
  37. destination = session.createQueue("FirstQueue");
  38. consumer = session.createConsumer(destination);
  39. // consumer2 = session.createConsumer(destination);
  40. while (true) {
  41. // 设置接收者接收消息的时间,为了便于测试,这里谁定为100s
  42. TextMessage message = (TextMessage) consumer.receive(28000);
  43. // Object message = (Object) consumer.receive(28000);
  44. if (null != message) {
  45. System.out.println("收到消息" + message.getText());
  46. } else {
  47. System.out.println("时间到...\n");
  48. break;
  49. }
  50. }
  51. } catch (Exception e) {
  52. e.printStackTrace();
  53. } finally {
  54. try {
  55. if (null != connection)
  56. connection.close();
  57. } catch (Throwable ignore) {
  58. }
  59. }
  60. }
  61. }

发送者:

 
  1. package com.ll.activemq;
  2. import java.util.Collection;
  3. import java.util.Iterator;
  4. import javax.jms.Connection;
  5. import javax.jms.ConnectionFactory;
  6. import javax.jms.Destination;
  7. import javax.jms.MapMessage;
  8. import javax.jms.MessageConsumer;
  9. import javax.jms.Session;
  10. import javax.jms.TextMessage;
  11. import org.apache.activemq.ActiveMQConnection;
  12. import org.apache.activemq.ActiveMQConnectionFactory;
  13. public class Receiver {
  14. public static void main(String[] args) {
  15. // ConnectionFactory :连接工厂,JMS 用它创建连接
  16. ConnectionFactory connectionFactory;
  17. // Connection :JMS 客户端到JMS Provider 的连接
  18. Connection connection = null;
  19. // Session: 一个发送或接收消息的线程
  20. Session session;
  21. // Destination :消息的目的地;消息发送给谁.
  22. Destination destination;
  23. // 消费者,消息接收者
  24. MessageConsumer consumer;
  25. connectionFactory = new ActiveMQConnectionFactory(
  26. ActiveMQConnection.DEFAULT_USER,
  27. ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");
  28. try {
  29. // 构造从工厂得到连接对象
  30. connection = connectionFactory.createConnection();
  31. // 启动
  32. connection.start();
  33. // 获取操作连接
  34. session = connection.createSession(Boolean.FALSE,
  35. Session.AUTO_ACKNOWLEDGE);
  36. // 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置
  37. destination = session.createQueue("FirstQueue");
  38. consumer = session.createConsumer(destination);
  39. // consumer2 = session.createConsumer(destination);
  40. while (true) {
  41. // 设置接收者接收消息的时间,为了便于测试,这里谁定为100s
  42. TextMessage message = (TextMessage) consumer.receive(28000);
  43. // Object message = (Object) consumer.receive(28000);
  44. if (null != message) {
  45. System.out.println("收到消息" + message.getText());
  46. } else {
  47. System.out.println("时间到...\n");
  48. break;
  49. }
  50. }
  51. } catch (Exception e) {
  52. e.printStackTrace();
  53. } finally {
  54. try {
  55. if (null != connection)
  56. connection.close();
  57. } catch (Throwable ignore) {
  58. }
  59. }
  60. }
  61. }

转载地址:http://lwxll.baihongyu.com/

你可能感兴趣的文章
Microsoft Visual Studio Ultimate 2013 with Update 3 CN+EN
查看>>
从数字油田的关键问题说开去
查看>>
[分享]Ubuntu12.04安装基础教程(图文)
查看>>
百度面试-网页搜索部
查看>>
HDU 3060 多边形面积并
查看>>
Map.EntrySet的使用方法
查看>>
【一】仿微信飞机大战cocos2d-x3.0rc1
查看>>
JavaScript 之 最佳位置选择
查看>>
使用TCMalloc优化OpenResty
查看>>
(HLS播放器之中的一个)HLS协议之M3U8解析
查看>>
GPRS管理与创建APN拨号连接(转)
查看>>
C语言标量类型(转)
查看>>
Linux下如何删除Oracle
查看>>
C# 读取Excel
查看>>
spring3.0事务的配置
查看>>
【原】使用StarUML画用例图
查看>>
[原]如何在Android用FFmpeg+SDL2.0之同步音频
查看>>
查看linux硬件信息
查看>>
USB移动硬盘WinPE启动盘的制作方法
查看>>
显示脉冲效果的PulsingView
查看>>