2
我正在使用駱駝與JMS。我有一個路由,它只是將jaxb註釋的java對象放在mq上。 java對象沒有實現可串行化,它只是有「serialVersionUID」。駱駝路由自動將序列化對象轉換爲xml
問題是,對象被轉換爲XML並且目標隊列具有MQSTR類型的XML消息。這是默認行爲嗎?我們是否應該依靠它來一直這樣做?請注意,我們沒有使用任何編號或從java dsl解組,並且如果我們從pom.xml中刪除jaxb依賴項,它不會被轉換爲xml。
我的路線是這樣的普通的香草。
from("someRoute")
.setExchangePattern(ExchangePattern.InOnly)
.doTry().processRef("processor")
.inOnly("destinationQueue")
.doCatch(Exception.class)
.to("errorQueue");
處理器填充jaxb類並將其設置爲body。我的處理器代碼是這樣的
JaxbClass message = mapper.mapHL7ToXML(hl7Message);
exchange.getIn().setBody(message) ;
我目前使用這個作爲依賴在POM JAXB。
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jaxb</artifactId>
<version>2.10.3</version>
</dependency>