|
9 | 9 | @Log4j2 |
10 | 10 | public class MonoCallSynchronousExecutor { |
11 | 11 |
|
| 12 | + private static final int THRESHOLD_SECONDS = 5; |
| 13 | + |
12 | 14 | private static Thread getHelperThread(Disposable disposable, String descriptor, long perodicCheckMilliSecondsTime) { |
13 | 15 |
|
14 | 16 | Object requestId = MDC.get("requestId"); |
15 | 17 | String id = (null != requestId) ? (String) requestId : ""; |
16 | 18 | Thread helperThread = new Thread() { |
17 | 19 |
|
| 20 | + private void checkThresholdCrossed(int sleptTimes, long perodicCheckMilliSeconds) { |
| 21 | + |
| 22 | + int sleptDurationInSeconds = (int) ((perodicCheckMilliSeconds * sleptTimes) / 1000); |
| 23 | + if (sleptDurationInSeconds > 0 && 0 == sleptDurationInSeconds % THRESHOLD_SECONDS ) { |
| 24 | + log.warn("{} -> (disposed) {} (eachSleepMilliSecondDuration) {} (sleptTimes) {} (sleptDurationInSeconds) {}", |
| 25 | + descriptor, false, perodicCheckMilliSeconds, sleptTimes, sleptDurationInSeconds); |
| 26 | + } else { |
| 27 | + log.debug("{} -> (disposed) {} (eachSleepMilliSecondDuration) {} (sleptTimes) {}", |
| 28 | + descriptor, false, perodicCheckMilliSeconds, sleptTimes); |
| 29 | + } |
| 30 | + } |
| 31 | + |
18 | 32 | @Override |
19 | 33 | public void run() { |
20 | 34 |
|
21 | 35 | MDC.put("requestId", id); |
22 | 36 | boolean disposed = false; |
23 | 37 | int sleptTimes = 0; |
24 | 38 | while (false == (disposed = disposable.isDisposed())) { |
25 | | - log.info("{} -> (disposed) {} (sleptTimes) {}", descriptor, disposed, sleptTimes); |
26 | 39 | try { |
27 | 40 | this.sleep(perodicCheckMilliSecondsTime); |
28 | 41 | } catch (InterruptedException e) { |
29 | 42 | log.error("InterruptedException -> {}", e.getMessage(), e); |
30 | 43 | break; |
31 | 44 | } |
32 | 45 | ++sleptTimes; |
| 46 | + checkThresholdCrossed(sleptTimes, perodicCheckMilliSecondsTime); |
33 | 47 | } |
34 | | - log.info("{} -> (disposed) {}", descriptor, disposed); |
| 48 | + log.debug("{} -> (disposed) {}", descriptor, disposed); |
35 | 49 | } |
36 | 50 |
|
37 | 51 | }; |
|
0 commit comments