activemq接收消息(如何查看activemq 的消息接收记录)

:暂无数据 2026-09-18 03:30:01 :0

activemq接收消息(如何查看activemq 的消息接收记录)

大家好,activemq接收消息相信很多的网友都不是很明白,包括如何查看activemq 的消息接收记录也是一样,不过没有关系,接下来就来为大家分享关于activemq接收消息和如何查看activemq 的消息接收记录的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

如何查看activemq 的消息接收记录

  之前写了一个ActiveMQ发送消息的例子。现在记录一下java接收ActiveMQ消息的代码。都是本人工作中写过的。希望给大家一点帮助。代码如下:
  Java代码
  package com.syxp.dns.receive;
  import javax.jms.Connection;
  import javax.jms.Destination;
  import javax.jms.JMSException;
  import javax.jms.Message;
  import javax.jms.MessageConsumer;
  import javax.jms.Session;
  import javax.jms.TextMessage;
  import org.apache.activemq.ActiveMQConnectionFactory;
  import org.apache.log4j.Logger;
  publicclass ReceiveMessageFromMQ {
  privatestatic String url = "tcp://localhost:61616";
  privatestatic String user = "";
  privatestatic String password = "";
  privatestatic Logger logger = Logger.getLogger(ReceiveMessageFromMQ.class);
  publicvoid receiveMessage(){
  // 创建连接工厂
  ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url);
  // 创建连接
  Connection connection;
  try {
  connection = connectionFactory.createConnection();
  connection.start();
  // 创建Session
  Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  // 创建目标,就创建主题也可以创建队列
  Destination destination = session.createQueue("integratedalarm.subject");
  // 创建消息消费者
***隐藏网址***
  // 接收消息,参数:接收消息的超时时间,为0的话则不超时,receive返回下一个消息,但是超时了或者消费者被关闭,返回null
  Message message = consumer.receive(1000);
  if (message instanceof TextMessage) {
  TextMessage textMessage = (TextMessage) message;
  String text = textMessage.getText();
  logger.info("接收的消息:"+"\n"+text);
  } else {
  logger.info("接收的消息:"+"\n"+message);
  }
  consumer.close();
  session.close();
  connection.close();
  } catch (JMSException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }
  }
  publicstaticvoid main(String args) {
  ReceiveMessageFromMQ receiveMessageFromMQ = new ReceiveMessageFromMQ();
  receiveMessageFromMQ.receiveMessage();
  }
  }
  上面有详细的注释,运行了上面的接收的方法之后,会打印出一条相应队列的未接收消息。在ActiveMQ的监视控制页面中,可以看到有一条消息已经被消费。

使用MQ消息中间件是否发送消息不成功怎么办

JMS是一个用于提供消息服务的技术规范,它制定了在整个消息服务提供过程中的所有数据结构和交互流程。而activemq则是消息队列服务,是面向消息中间件(MOM)的最终实现,是真正的服务提供者。

jms 的一个标准或者说是一个协议.通常用于企业级应用的消息传递. 主要有topic 消息(1 对多), queue 消息(1对1)。activemq 是一个jms 的实现, apache 出的.

另外还其它的实现 jboss 。

MQ简介:

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有 MQ。

MQ特点:

MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。

使用场景:

在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。

JMS简介:

JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

定义:

JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务。

简介:

JMS是一种与厂商无关的 API,用来访问消息收发系统消息。它类似于JDBC(Java ):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ,这只是几个例子。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个JMS客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象 ()、属性集合 (MapMessage)、字节流 ()、原始值流 (),还有无有效负载的消息 (Message)。

JMS和MQ的关系:

JMS是一个用于提供消息服务的技术规范,它制定了在整个消息服务提供过程中的所有数据结构和交互流程。而MQ则是消息队列服务,是面向消息中间件(MOM)的最终实现,是真正的服务提供者;MQ的实现可以基于JMS,也可以基于其他规范或标准。

支持JMS的开源MQ:

目前选择的最多的是ActiveMQ。

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

主要特点:

1. 多种语言和协议编写客户端。语言: Java, C, C, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,XMPP,AMQP

2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)

3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性

4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上

5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA

6. 支持通过JDBC和journal提供高速的消息持久化

7. 从设计上保证了高性能的集群,客户端-服务器,点对点

8. 支持Ajax

9. 支持与Axis的整合

10. 可以很容易得调用内嵌JMS provider,进行测试

11. ActiveMQ速度非常快;一般要比jbossMQ快10倍。

优点:是一个快速的开源消息组件(框架),支持集群,同等网络,自动检测,TCP,SSL,广播,持久化,XA,和J2EE1.4容器无缝结合,并且支持轻量级容器和大多数跨语言客户端上的Java虚拟机。消息异步接受,减少软件多系统集成的耦合度。消息可靠接收,确保消息在中间件可靠保存,多个消息也可以组成原子事务。

缺点:ActiveMQ默认的配置性能偏低,需要优化配置,但是配置文件复杂,ActiveMQ本身不提供管理工具;示例代码少;主页上的文档看上去比较全面,但是缺乏一种有效的组织方式,文档只有片段,用户很难由浅入深进行了解,二、文档整体的专业性太强。在研究阶段可以通过查maillist、看Javadoc、分析源代码来了解。

ActiveMQ 多个队列一个消费者 怎么接收信息

一、WebSphere MQ命令行命令1、停止队列管理器 endmqm runmqsc mqm_name。通过命令runmqsc启动队列管理器的命令服务器。WebSphere MQ Explorer也能完成相同的任务。runmqsc的相关命令有三种运行方式,Verify a command without running it,Run a command on a local queue manager,Run a command on a remote queue manager。runmqsc的相关命令在解释的时候都会以大写来解释,比如DEFINE,ALTER,RESET等。但是这些命令并不是大小写敏感的。每行runmqsc命令最长只能到8个字符,可以通过-或者+连接下一行,-是从下一行的第一个字符开始,+是从下一行的第一个非空字符开始。而且所有命令与平台无关。runmqsc的标准输入是键盘,标准输出时屏幕,我们可以通过《,》重定向。例如从脚本输入命令runmqsc 《/path/filename.in,将结果重定向到文件runmqsc》/path/filename.out。 1、显示队列管理器属性(DISPLAY QMGR): DISPLAY QMGR显示当前队列管理器的所有属性,也可以使用DISPLAY QMGR 属性名,单独查看当前队列管理器的某个特定属性。 2、 更改队列管理器属性(ALTER QMGR ): ALTER QMGR 用于更改队列管理器的相关属性,例如 ALTER QMGR MAXHANDS(255),这个命令将默认队列管理器的MAXHANDS由256更改为255。 3、创建本地队列(DEFINE QLOCAL ): DEFINE QLOCAL Q_LOCAL_NAME,在创建队列的时候可以定义相关属性的值,如果没有定义则使用默认值。也可以全部使用默认值,最后通过ALTER QLOCAL命令来修改相关属性。在同一个队列管理器中不能有同名的队列,可以使用REPLACE关键字重建已有的队列。 4、修改本地队列属性(ALTER QLOCAL): ALTER QLOCAL Q_LOCAL_NAME NEW_ATTRIBUTE。已经定义了的本地队列可以使用ALTER QLOCAL 命令对其属性进行修改。 5、显示本地队列属性(DISPLAY QLOCAL): DISPLAY QLOCAL Q_LOCAL_NAME ATTRIBUTE。此命令用于显示本地队列的属性,可以使用默认的显示全部属性,也可以显示指定的属性。 6、复制本地队列(DEFINE QLOCAL NEW LIKE OLD): DEFINE QLOCAL NEW LIKE OLD。此命令可以创建一个属性与OLD完全一样的本地队列。当然,我们也可以在语句后面指定属性的详细信息,没有指定的则继承OLD的对应属性,指定了的则使用新的属性。 7、清除本地队列中的消息(CLEAR QLOCAL): CLEAR QLOCAL Q_LOCAL_QUEUE。此命令用于清除本地队列中存储的信息。在清除信息的时候系统不会给出任何提示,而是直接把信息删除。在一下两种情况下不能使用CLEAR QLOCAL,本地队列中存储的有在最近一次队列同步以后未提交的信息,有应用程序打开使用本地此队列。 8、删除本地队列(DELETE QLOCAL): DELETE QLOCAL Q_LOCAL_QUEUE。此命令用于删除本地队列,当本地队列中存在有没有提交的数据此队列不能删除。如果队列中存在数据,且数据是提交了的,可以使用PURGE关键字删除本地队列。例如DELETE QLOCAL (Q_LOCAL_QUEUE) PURGE,在删除的时候可以指定NOPURGE关键字代替PURGE以保护删除的队列中可能存在的已提交数据。三、PCF commands PCF commands允许管理员通过编程的方式将MQ的日常管理任务集成在程序中。包括创建队列,预定义队列,更改队列管理器等, PCF commands与MQSC锁实现的功能是相同。

ActiveMQ 无法相互收到消息

经过的实际处理,在activemq 5.9.1中也发现这种问题。
经发现是queue的策略没有配置导致的。
在《destinationPolicy》
《policyMap》
《policyEntries》增加对Queue的策略管理如下:
《!-- 属性enableAudit=false,是防止消息在回流后被当做重复消息而不被转发 --》
《policyEntry queue="》" producerFlowControl="false" memoryLimit="10mb" enableAudit="false"》
《!-- 属性replayWhenNoConsumers=true,保证在该节点断开,并重启后,且consumers已经连接到另外一个节点上的情况下,消息自动回流到原始节点 --》
《networkBridgeFilterFactory》
《conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true"/》
《/networkBridgeFilterFactory》
《/policyEntry》
同时你需要通过配置broker相关的通信处理:
《networkConnectors》
《networkConnector uri="static:failover://(tcp://IP:端口号,tcp://IP:端口号)" duplex="true" conduitSubscriptions="false"/》
《/networkConnectors》
这样就不会有问题了。

activeMQ消息中文乱码解决(控制台乱码及后台接收乱码)

***隐藏网址***

此时需要配置过滤器进行转码:
在MQ的服务器目录中找到webapps/admin/WEB-INF中修改web.xml文件

添加如下过滤器

如何访问ActiveMQ接收消息

作消息发送
按照JMS规范保证靠性所消息都应该发送broker交由broker投递即说其实JMS建议或支持传输文件
于比较文件简单处理式先读取所文件byte使用ByteMessage文件数据发送broker像message处理于文件例1GB文件搞直接client或broker给oom掉
种式仅仅适用于文件传输特别broker端使用数据库作存储message序列化存放于blob字段文件传输频繁或稍微点写入效率极低
直接传输文件
解决传输文件问题ActiveMQjms规范外引入jms streams概念PTP模式连同destination两端通broker转传输文件
发送端使用connection.createOutputStream打输流往流写文件
OutputStream out =connection.createOutputStream(destination);
接收端则简单使用connection.createInputStream拿输入流读取文件数据即
InputStream in = connection.createInputStream(destination)

ActiveMQ怎么设置一次只读取队列中的一条消息

必须确认消息才能将其从队列中“删除”。可以使用$stomp-》ack($messageID)。
执行此操作
如果不想明确确认收据,可以将$stomp-》subscribe ack的标题设置为auto。这将使服务器自动确认消息并假设它已正确传送。
$stomp-》subscribe(’/queue/something’, array(’ack’ =》 ’auto’));

activemq怎么看消息信息

我也是个菜鸟,说下我的理解:IBM MQ是有“发送队列”、“接收队列”的。ActiveMQ没有“发送队列”、“接收队列”,就是普通的建一个“队列”,然后发消息到这个队列,从这个队列接收消息。

ActiveMQ中消费者是怎么接收消息的

在ActiveMQ中,消息生产者是无法知道消息消费者
是否已经接受到消息的,因为消息发送和接收
是两个相对独立的过程,
生产者将消息发送给MOM,当MOM对接受消息进行了应答.

关于activemq接收消息,如何查看activemq 的消息接收记录的介绍到此结束,希望对大家有所帮助。

activemq接收消息(如何查看activemq 的消息接收记录)

本文编辑:admin

更多文章:


孙侨潞电视剧(“小魔仙”孙侨潞猝死后,其邻居同学都爆了哪些料)

孙侨潞电视剧(“小魔仙”孙侨潞猝死后,其邻居同学都爆了哪些料)

大家好,如果您还对孙侨潞电视剧不太了解,没有关系,今天就由本站为大家分享孙侨潞电视剧的知识,包括“小魔仙”孙侨潞猝死后,其邻居同学都爆了哪些料的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 12:00

微信小程序爬虫(微信小程序能放php爬虫代码吗)

微信小程序爬虫(微信小程序能放php爬虫代码吗)

这篇文章给大家聊聊关于微信小程序爬虫,以及微信小程序能放php爬虫代码吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 11:50

form表单制作(为什么制作的form表单会在网页显示中多出一行)

form表单制作(为什么制作的form表单会在网页显示中多出一行)

大家好,如果您还对form表单制作不太了解,没有关系,今天就由本站为大家分享form表单制作的知识,包括为什么制作的form表单会在网页显示中多出一行的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 09:10

teammate(teammate,company,partner)

teammate(teammate,company,partner)

各位老铁们,大家好,今天由我来为大家分享teammate,以及teammate,company,partner的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年10月11日 06:10

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)

其实javascript arraybuffer的问题并不复杂,但是又很多的朋友都不太了解javascript可以把base64编码转换成二进制代码吗求示例代码!,因此呢,今天小编就来为大家分享javascript arraybuffer的

2026年10月11日 04:00

text函数公式(excel中round和text函数的区别是什么)

text函数公式(excel中round和text函数的区别是什么)

“text函数公式”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看text函数公式(excel中round和text函数的区别是什么)!

2026年10月11日 03:50

pascal编程软件(介绍一下pascal语言!)

pascal编程软件(介绍一下pascal语言!)

大家好,如果您还对pascal编程软件不太了解,没有关系,今天就由本站为大家分享pascal编程软件的知识,包括介绍一下pascal语言!的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 02:40

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)

本篇文章给大家谈谈google chrome打不开,以及chrome浏览器打不开怎么回事 浏览器打不开的处理方法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了

2026年10月11日 02:00

websocket整合springboot(Springboot整合Websocket遇到的坑)

websocket整合springboot(Springboot整合Websocket遇到的坑)

大家好,websocket整合springboot相信很多的网友都不是很明白,包括Springboot整合Websocket遇到的坑也是一样,不过没有关系,接下来就来为大家分享关于websocket整合springboot和Springbo

2026年10月11日 01:40

小米官方首爆miui14(miui14耗电严重官方回应)

小米官方首爆miui14(miui14耗电严重官方回应)

各位老铁们好,相信很多人对小米官方首爆miui14都不是特别的了解,因此呢,今天就来为大家分享下关于小米官方首爆miui14以及miui14耗电严重官方回应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月11日 00:40

最近更新

热门文章

打印机m7400(m7400打印机清零方法)
2026-08-29 07:50:01 浏览:5
acrobat各版本区别(Acrobat XI Pro与 Acrobat PRO DC什么区别)
2026-08-29 22:30:20 浏览:2
联想y510p怎么升级(联想y510p换cpu)
2026-08-17 03:30:04 浏览:2
标签列表