如何在 JMS ActiveMQ Artemis 中获取字节消息的正文?

问题描述 投票:0回答:1

我有一个从 JMS 队列获取消息的代码,但我不明白如何获取消息正文(如果它是字节)并将其转换为

String
:

connectQueueBrowser();
Enumeration<Message> messageEnumeration =  queueBrowser.getEnumeration();
ArrayList<Message> messages = new ArrayList<>();
while (messageEnumeration.hasMoreElements()){
   messages.add(messageEnumeration.nextElement());
}
System.out.println(messages.get(0).getBody(String.class));

这是我得到的错误:

javax.jms.MessageFormatException: Body not assignable to class java.lang.String

但是当我显示正文消息时出现错误。

java jms activemq-artemis
1个回答
0
投票

如果您发送了 JMS

BytesMessage
,那么您可以
getBody
byte[].class
一起使用,例如:

System.out.println(messages.get(0).getBody(byte[].class));
© www.soinside.com 2019 - 2024. All rights reserved.