当前位置: 首页 > 知识库问答 >
问题:

使用JMS客户端处理MQ ByteMessage

危晨
2023-03-14

我使用IBM MQ和Java将消息以字节形式写入队列。这里的问题是,当我从JMS客户端读取预期格式的消息时,我得到的是“BytesMessage”,而不是MQSTR格式的消息。

在将消息写入队列时,我必须设置哪些属性,以便JMS客户机将消息作为文本而不是字节来使用?

openOptions =MQC.MQOO_OUTPUT
putOptions=MQC.MQPMO_SYNCPOINT
String message="text";  
final MQMessage mqm = new MQMessage();
mqm.write(message.getBytes());

柴图

共有1个答案

姬承教
2023-03-14

好吧,如果您的消息将是文本格式的,那么写为字节有什么意义。

相反,您可以使用其他函数,如:

String message="text";  
MQMessage mqm = new MQMessage();
mqm.writeString(message);

此外,您还可以将消息的“format”属性设置为任何有效格式(MQRFH2、MQSTR等),例如:

mqm.format="MQSTR";
 类似资料:
  • 我想使用Apache Qpid订阅Java消息服务(JMS)发布订阅服务。然而,我不想使用Java,而是想使用C。我的客户告诉我这是可能的(甚至说是微不足道的)。它们是否正确?有人能给我举个例子吗?我所看到的每一处都表明,要使用JMS,我必须使用Java。这里的要点是,该服务是第三方服务(因此我不能将其更改为使用AMQP或JMS以外的任何其他协议)。

  • 您好,我正在尝试从计算机中的本地客户端连接我的服务器。我有一个远程服务器正在运行。。当我从Netbeans运行代码时,一切都正常。。。当我从CMD尝试时,我得到了这个错误 Java语言com上的lang.NullPointerException。太阳企业命名。实施。SerialContext。com上的getORB(SerialContext.java:347)。太阳企业命名。实施。SerialC

  • 我正在使用Camel开发客户端/服务器请求/回复系统。 客户机和服务器使用两个JMS队列进行通信:请求队列和响应队列。 服务器端有一个camel路由,它使用来自请求队列的JMS消息并同时处理消息。使用响应队列将响应发送回客户端。 客户端向JMS队列发送消息并等待响应。我有两个问题: > 客户端实际上是其他应用程序将使用的库。我也想在客户端使用Camel,但不知道如何将Camel用作“函数”,即在我

  • 最大消息长度为64K字节(尽管我可以将其减少到256字节)。 注意:这将运行在一个微小的嵌入式设备上,所以使用像ZMQ这样的消息传递层不是一个选项(没有足够的内存)。 我可以:

  • 我有一个使用RESTEasy的简单客户端,如下所示: 服务器配置为在以及一条有用的信息。正在抛出一个。除了包装在中之外,我如何使捕获异常并以字符串形式返回响应的有用消息。我尝试了各种实现,但似乎都是正确的。上述代码从未调用。我错过了什么? 我目前的解决方法是使用,然后执行并将原始状态填充到响应实体中。这样我就避免了异常抛出。

  • 跟随wiki页面https://cwiki.apache.org/qpid/amqp-java-jms-messaging-client.html到https://cwiki.apache.org/qpid/connection-url-format.html. Simple me需要qpid-amqp-1-0-client-jms-0.20-sources。jar接受URI格式,但它似乎忽视了一