Open steverpm890 opened 1 month ago
你贴一下 undertow 版本 和 jdk 版本吧
starting server: Undertow - 2.2.10.Final jdk11 我调了下,发现不是版本的问题 Object requestContext = invokeMethod(threads[i].getContextClassLoader().loadClass("io.undertow.servlet.handlers.ServletRequestContext"), "current"); Object servletContext = invokeMethod(requestContext, "getCurrentServletContext");
这2句,在非undertow线程执行,是有问题,如果当前,没有请求,是获取不到servletContext的 因为在io.undertow.servlet.handlers.ServletRequestContext setCurrentRequestContext,一个request完成后,这里会被置空,也就是ThreadLocal,会被清掉
在非Undertow线程,注入不成功。 调试了,发现,是在getContext,这里获取失败