0
我希望有人能幫我解決我的問題。我有一個將XML消息發送給Camel的客戶端應用程序。我在Camel中使用Mina2 v2.11.1組件作爲消耗傳入XML的端點。我無法控制客戶端應用程序,並且在大多數情況下,它需要對請求做出響應。但是有2條消息不需要響應。我發現,如果我沒有回覆每條消息,那麼它會斷開連接,但這不是所期望的,因爲它需要維護連接以發送響應或不響應。我試圖設置disconnectOnNoReply = false,但它似乎不工作,因爲它繼續刪除連接。我在駱駝路線設置爲...駝峯組件丟棄連接
<camel:route>
<camel:from uri="mina2:tcp://10.5.60.60:9000?codec=#myDecoder&disconnectOnNoReply=false"/>
<camel:bean ref="OutputProcessor"/>
</camel:route>
難道我做錯了什麼在我的編碼器,是造成這種情況發生?我的編碼器看起來像...
@Override
public void encode(IoSession is, Object o, ProtocolEncoderOutput peo) throws Exception {
if (o != null) {
IoBuffer ioBuffer = IoBuffer.allocate(512, false);
ioBuffer.setAutoExpand(true);
ioBuffer.setAutoShrink(true);
byte[] responseByteArr = (byte[]) o;
ioBuffer.put(responseByteArr);
ioBuffer.flip(); //Flip it or there will be nothing to send
peo.write(ioBuffer);
peo.flush();
}
}
如果任何人都可以對此有所瞭解,我會非常感激!
謝謝!
- 添