我想只从jms消息中提取没有标题和属性的jms消息文本。
要提取JMS标题:msg.getJMSCorrelationID()
;
要提取JMS属性:jmsMessage.getPropertyNames()
但是如何只从消息中获取文本值?
在下面的示例消息中,我只想提取“ hello queue ”。是否有java函数可以执行此操作?
答案 0 :(得分:3)
如果邮件正文是文本邮件(纯文本或XML),则可以像下面那样提取它。
String msgBody = ((TextMessage) message).getText();
JMS 2.0 API在<T> T getBody(Class<T> c)
接口中公开了附加方法Message
。
如果您的消息代理或源是JMS 2.0投诉,那么我们将以更加干净的方式提取消息正文,而不进行如下对象转换。
String msgBody = message.getBody(String.class);