From d1e380d5bc8d6cda7dc26778dd638b3367483ae7 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 11 四月 2025 17:27:30 +0800 Subject: [PATCH] 小程序6种开关阀操作失败时重发一次 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java | 63 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java new file mode 100644 index 0000000..8aefc22 --- /dev/null +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/TimerTaskJob.java @@ -0,0 +1,63 @@ +package com.dy.common.util; + +import java.util.Timer; +import java.util.TimerTask; + +/** + * @Author: liurunyu + * @Date: 2024/11/20 17:49 + * @Description : + * 2024-11-20锛� + * 姝ゆ娊璞$被浠f浛ThreadJob锛屽師鍥狅細 + * 鍦╳hile(true){}涓娇鐢═hread.sleep()锛屽彲鑳藉鑷寸殑涓ラ噸鎬ц兘闂锛屼笉鎺ㄨ崘鍦ㄥ惊鐜腑浣跨敤绾跨▼浼戠湢銆� + * Java绾跨▼瀹炵幇閲囩敤鍐呮牳绾跨▼瀹炵幇锛岀嚎绋嬬殑浼戠湢鍙婂敜閱掞紙鐘舵�佸垏鎹級闇�鍊熷姪鎿嶄綔绯荤粺杩涜锛岃繖鏄竴涓瀬鍏惰�楁椂鑰楀姏鐨勬搷浣溿�� + * 鍦ㄧ嚎绋嬩紤鐪犳垨杩愯鏃堕棿杈冮暱鐨勬儏鏅笅锛屽叾瀵规�ц兘鐨勫奖鍝嶈繕涓嶇畻鏄庢樉锛屽洜涓哄绾跨▼鐘舵�佺殑鍒囨崲骞朵笉棰戠箒銆� + * 浣嗚嫢绾跨▼浼戠湢鍙婅繍琛岀殑鏃堕棿閮藉緢鐭紙渚嬪姣/绉掞級锛� + * 绯荤粺灏嗛绻佺殑瀵圭嚎绋嬬姸鎬佽繘琛屽垏鎹紝瀵艰嚧涓ラ噸鐨勬�ц兘鎹熻�楋紝骞跺鐫�寰幆娆℃暟鐨勯�掑鑰屾斁澶с�� + */ +public abstract class TimerTaskJob { + protected Timer timer; + + protected boolean stop = false ; + public void stop(){ + this.stop = true ; + if(this.timer != null){ + this.timer.cancel(); + } + } + public boolean isStop(){ + return this.stop ; + } + + /** + * + * @param delay + * @param interval + * @param callback + * @throws Exception + */ + public void start(Long delay, Long interval, Callback callback) throws Exception { + this.timer = new Timer(); + this.timer.schedule(new TimerTask() { + public void run() { + Exception exe = null ; + Object obj = null ; + try { + obj = execute() ; + }catch(Exception e){ + e.printStackTrace(); + exe = e ; + }finally { + if(callback != null){ + if(exe != null){ + callback.exception(exe); + }else{ + callback.call(obj); + } + } + } + } + }, delay , interval); + } + public abstract Object execute() throws Exception ; +} -- Gitblit v1.8.0