dubbo 重启时抛错.优雅停机方案解决or

原因:

nettyChannel 再 shutDown hook 时被提前关闭了.

因为先关 dubbo 入口,最后关 dubbo 调用出口. 故这种情况下,连接池还不能共用. 不能像 zk 那样,因为对等,关掉一个. tcp close 关掉代表.不再写.

不再写,为什么会出现 readTimeOut 的情况呢? 配置了 dubbo 超时时间. 可能 duubo 的关闭是双向关闭? 这个是 tcp 控制的. dubbo sever 端只能进行连接池空闲检测回收.?

多久一次? 有 netty 控制?

netty 服务端  监听客户端关闭关闭事件? 查下 netty 的 nio 的事件机制,有没有客户端的关闭事件. 然后怎么处理的.?

这种 callBack 可以有,也可以没有,完全看下层的实现. 父类,下层. (http://blog.csdn.net/jiangguilong2000/article/details/7861754

Q1:服务器主动关闭连接后,客户端没有监听到socket关闭的事件。

)


1.这种是每次请求抛错.

2. 还有一种是直接发现已经 close,抛错.

2017-03-30 14:22:02 673,hostName=.com,Remote invoke com..liangjian.order.api.OrderRemotingService@.getByOrderId error. args:[414162054], resp:dubbo return null object., time:1174,Flag=6445603358dca406fdba65521f104686

com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout. method: getByOrderId, provider  /com..liangjian.order.api.OrderRemotingService
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:100)
    at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144)
    at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)
    at com..framework.dubbo.ZipkinDubboConsumerFilter.invoke(ZipkinDubboConsumerFilter.java:129)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com..liangjian.pay.common.dubbo.TradeConsumerFilter.invoke(PayConsumerFilter.java:79)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com..framework.dubbo.ConsumerLogStaticFilter.invoke(ConsumerStaticFilter.java:66)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
    at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77)
    at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227)
    at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
    at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
    at com.alibaba.dubbo.common.bytecode.proxy0.getByOrderId(proxy0.java)
    at com.integration.impl.IntegrationService.getOrderById(OrderIntegrationServiceImpl.java:192)
   
    at com.alibaba.rocketmq.client.impl.consumer.ConsumeMessageConcurrentlyService$ConsumeRequest.run(ConsumeMessageConcurrentlyService.java:160)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout. start time: 2017-03-30 14:22:01.484, end time: 2017-03-30 14:22:02.658, client elapsed: 0 ms, server elapsed: 1174 ms, timeout: 1000 ms, request: Request [id=10511237, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=getByOrderId, parameterTypes=[class java.lang.Long], arguments=[414162054], attachments={flag=6445603358dca406fdba65521f104686, token=true, path=com..liangjian.order.api.OrderRemotingService, zipkin.sampleJudgement=noSample, interface=com..liangjian.order.api.OrderRemotingService, version=1.0.0}]], channel: /:5257 -> /:710
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:107)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84)
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:97)
    ... 38 more
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值