Camel mina组件掉线连接

时间:2013-10-04 11:53:04

标签: sockets apache-camel mina

我希望有人能帮我解决问题。我有一个客户端应用程序,它将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&amp;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(); 
    } 
} 

如果有人能对此有所了解,我将非常感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

你可以发布详细的配置和代码吗?特别是#myDecoder和OutputProcessor bean。

我认为那些问题出了问题2.您是否在日志中看到了一些错误?