From 84182fbb85e7c11194014a8ca9d25a97f4f088e4 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 29 七月 2024 13:49:54 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java index e0d83d6..2b8d31a 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java @@ -22,6 +22,8 @@ private static boolean started = false ; private TcpUnitAdapter adapter ; + private TcpIoHandler tcpIoHandler ; + private DataCodecFactory dataCodecFactory ; private TcpUnit(){} ; @@ -94,7 +96,8 @@ //寰楀埌缃戠粶 閫氫俊鏁版嵁杩囨护鍣ㄩ摼 DefaultIoFilterChainBuilder chain = acceptor.getFilterChain() ; //缂栬В鐮佽繃婊ゅ櫒 - chain.addLast("protocol", new ProtocolCodecFilter(new DataCodecFactory(this.adapter))); + dataCodecFactory = new DataCodecFactory(this.adapter) ; + chain.addLast("protocol", new ProtocolCodecFilter(dataCodecFactory)); /* * 涓�鑸珽xecutorFilter 閮借鏀惧湪ProtocolCodecFilter 杩囨护鍣ㄧ殑鍚庨潰锛� @@ -106,7 +109,8 @@ chain.addLast("exceutor", new ExecutorFilter()); //涓氬姟閫昏緫澶勭悊鍣紝璐熻矗澶勭悊缃戠粶浼氳瘽鍙婅緭鍏ヨ緭鍑烘暟鎹� - acceptor.setHandler(new TcpIoHandler(this.adapter)); + tcpIoHandler = new TcpIoHandler(this.adapter) ; + acceptor.setHandler(tcpIoHandler) ; boolean isException = false ; try { @@ -129,8 +133,26 @@ } } + /** + * 鍋滄妯″潡杩愯锛屽皢涓嶅啀鎺ュ叆TCP缃戠粶杩炴帴锛屽苟鎶婂凡缁弔cp杩炴帴鐨勫叏閮ㄦ柇杩炴帴 + * @param callback + * @throws Exception + */ @Override public void stop(UnitStartedCallbackInterface callback) throws Exception { + this.tcpIoHandler.stop(); + this.dataCodecFactory.stop(); + this.adapter.newUnitStopCallback().callback(); + callback.call(null); + } + + /** + * 瑙i櫎鍋滄锛屾仮澶峊CP鏈嶅姟杩愯 + * @throws Exception + */ + public void recover() throws Exception { + this.tcpIoHandler.recover(); + this.dataCodecFactory.recover(); } -- Gitblit v1.8.0