首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >观察骆驼/网络环境中的连接状态

观察骆驼/网络环境中的连接状态
EN

Stack Overflow用户
提问于 2013-09-03 10:13:40
回答 1查看 978关注 0票数 1

我希望了解camel/netty环境中的连接状态。

为了做到这一点,我尝试了这样的方法:

  • 指定了我的骆驼路线

代码语言:javascript
复制
    from("direct:in").marshal().serialization()
    .to("netty:tcp://localhost:42123?clientPipelineFactory=#cpf&sync=false");
  • 实施了我的管道工厂

代码语言:javascript
复制
    public class ConnectionStatusPipelineFactory extends ClientPipelineFactory {
        @Override
        public ChannelPipeline getPipeline() throws Exception {
            ChannelPipeline cp = Channels.pipeline();
            cp.addLast("statusHandler", new ConnectionStatusHandler());
            return cp;
        }

        @Override
        public ClientPipelineFactory createPipelineFactory(NettyProducer producer) {
            return new ConnectionStatusPipelineFactory();
        }
    }
  • 实现我的连接状态处理程序

代码语言:javascript
复制
    public class ConnectionStatusHandler extends SimpleChannelUpstreamHandler {
        @Override
        public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e)
                throws Exception {
            System.out.println("Event: " + e);
            super.channelConnected(ctx, e);
        }

        @Override
        public void channelDisconnected(ChannelHandlerContext ctx,
                ChannelStateEvent e) throws Exception {
            System.out.println("Event: " + e);
            super.channelDisconnected(ctx, e);
        }
    }

最后把"ConnectionStatusPipelineFactory“和"cpf”绑定到我的骆驼注册中心。

但出现了以下例外情况:

代码语言:javascript
复制
java.lang.IllegalArgumentException: unsupported message type: class [B

备注:

  • "channelConnected“和"channelDisconnected”方法按预期调用。
  • 当我禁用它时,一切正常工作(消息编组、连接、远程进程.)。

问题是:

  • 这有什么问题吗?
  • 这是了解连接状态(连接与否)的好方法吗?
EN

回答 1

Stack Overflow用户

发布于 2013-09-03 15:11:37

尝试使用解码器选项,而不是使用整个客户端管道工厂。例如使用选项decoder=#myConnectionStatusHandler。然后在注册表中注册名为ConnectionStatusHandler的myConnectionStatusHandler。

如果您使用管道工厂,那么您需要添加所有其他骆驼添加的盒子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18589629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档