我有一个从 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
但是当我显示正文消息时出现错误。
如果您发送了 JMS
BytesMessage
,那么您可以仅将 getBody
与 byte[].class
一起使用,例如:
System.out.println(messages.get(0).getBody(byte[].class));