【发布时间】:2014-02-12 21:11:14
【问题描述】:
您将如何使用 Java 在 WebSphere MQ 中实现 Content Enricher?
鉴于现有的输入消息是从队列中提供的,以下是我的一些想法,没有一个让我满意:
- 深度克隆消息对象。 Here 解释了它是如何完成的,但我也找不到
javax.jms.Message 类的
clone()或serialize()方法。 - 获取原始消息,使用
setXXXProperty()设置附加属性并发送 向前。这会引发异常,提示消息是 只读。 - 创建一条新消息,遍历
现有消息并将它们设置为新消息。
getPropertyNames()可以帮助做到这一点,但它什么也没说 类型的属性,因此这些信息将会丢失。
【问题讨论】:
-
1 - 不,还有其他消息类型(TextMessage、ByteMessage ...)。 2. 最优。 3号 来自apache camel的描述和实现camel.apache.org/content-enricher.html