【问题标题】:How to remove JMS reader from message received via MQ using JMS template如何使用 JMS 模板从通过 MQ 接收的消息中删除 JMS 阅读器
【发布时间】:2016-05-03 10:49:02
【问题描述】:

我正在尝试使用 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 接收到的消息传递给没有标头的处理器。

【问题讨论】:

    标签: java spring-batch jmstemplate


    【解决方案1】:

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

    TextMessage tm = (TextMessage) message; 
    System.out.println(tm.getText());
    

    【讨论】:

    • 感谢您的回复@titou10,正如我之前提到的,我需要将消息传递给处理器,所以我需要删除标题并保留我的消息正文。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 2012-07-31
      • 2016-03-05
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      相关资源
      最近更新 更多