2014-01-30 43 views
-1

我目前正在使用歡樂連接3.0.1和生物儀器的項目。通過使用ActiveMQ代理,我將帶有Mirth Connect的JMS消息發送到此儀器。我的儀器上的JMS接收器是一個特定的java連接器,他期望格式良好的JMS頭具有一些特定的和必需的字段。修改JMS標題與歡樂連接

我想知道是否有可能修改由Mirth Connect發送的JMS頭?我沒有找到任何有關它的信息。

例如,我想在我的JMS標題中添加一個字段並添加一個值。

如果這是不可能的,你知道我是否可以使用ActiveMQ做到這一點?也許,我必須編寫自己的ActiveMQ庫?

謝謝你的幫助。

回答

1

按照JMS規範

Property values are set prior to sending a message. When a client receives a 
message, its properties are in read-only mode. If a client attempts to set 
properties at this point, a MessageNotWriteableException is thrown. 

所以,如果你想設置的任何屬性,那麼你必須調用消息clearProperties(),然後設置自己的值。

+0

您能否介紹一下'clearProperties()'方法的用法? –

+0

收到消息後,您必須在該消息上調用'clearProperties()',然後才能設置它的某些屬性。[docs](http://docs.oracle.com/cd/E17802_01/products/products/jms/ javadoc-102a/javax/jms/Message.html#clearProperties%28%29) –

+0

我需要在發送消息之前清除屬性,而不是在儀器接收到時 –