0

我正在尝试使用 JmsTemplate 从 IBM 消息队列中读取一条消息并在控制台上显示该消息,但是当它被打印时,我观察到 JMS 标头也与我的消息一起附加,如下所示:

JMSMessage class: jms_text

  JMSType:          null
  JMSDeliveryMode:  1
  JMSExpiration:    0
  JMSPriority:      0
  JMSMessageID:     ID:414d51204d515453414d49313120202056d9be132543786e
  JMSTimestamp:     1462271773270
  JMSCorrelationID: null
  JMSDestination:   null
  JMSReplyTo:       null
  JMSRedelivered:   false
event_log_id    event_id    event_name  event_time  insertion_time  event_args  src_mac src_name    src_util_id s ...

有人可以帮我编写如何删除此标头的代码,我在 Java 中使用 Spring Batch,我需要将从 MQ 接收到的消息传递给没有标头的处理器。

4

2 回答 2

0

你如何“显示”你的信息?
如果您只想打印有效负载,请从您的消息中获取文本有效负载并打印类似

TextMessage tm = (TextMessage) message; 
System.out.println(tm.getText());
于 2016-05-03T11:52:04.027 回答
0

我会创建一个ItemProcessor在你之前执行的ItemProcessor并让它删除标题。

于 2016-05-03T14:03:00.183 回答