我希望有人能帮我解决问题。我有一个客户端应用程序,它将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();
}
}
如果有人能对此有所了解,我将非常感激!
谢谢!
答案 0 :(得分:0)
你可以发布详细的配置和代码吗?特别是#myDecoder和OutputProcessor bean。
我认为那些问题出了问题2.您是否在日志中看到了一些错误?