2020-11-09 20:49

@JFinal 波总,只有在第一次进入finereport的时候报错,在请求一次就好了,由于finereport是商业,没法看到代码,单步调试,没有发现问题,现在头绪有点茫然了。
我是定义了一个Handlers,里面加入判断用户登录没有。用UrlSkipHandler也是报错。还望波总指点

2020-11-03 23:30

@JFinal 波总 jfinal + finereport9.0
UndertowServer.create(MainConfig.class)
.configWeb( builder -> {
builder.addServlet("ReportServer", "com.fr.web.ReportServlet");
builder.addServletMapping("ReportServer", "/ReportServer/*");
}).start(); }
出现一个问题,第一次访问ReportServer 报错,
[Thread: XNIO-1 task-1]-[ERROR]-[io.undertow.servlet.api.LoggingExceptionHandler.handleThrowable()]: UT005023: Exception handling request to /ReportServer
java.lang.NullPointerException
at com.fr.fs.FSModule.deleteObsoleteJARs(Unknown Source)
at com.fr.fs.FSModule.compatibleUpgrade(Unknown Source)
at com.fr.fs.FSModule.init(Unknown Source)
at com.fr.fs.FSModule.startFinish(Unknown Source)
at com.fr.report.module.EngineModule.start(Unknown Source)
at com.fr.general.ModuleContext.startModule(Unknown Source)
at com.fr.web.BaseServlet.init(Unknown Source)
at com.fr.web.ReportServlet.init(Unknown Source)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:305)
在访问一次就好了,就可以用了,感觉第一次访问,没有加载上servlet,等报错后就加载上了。
请问这是为什么有没有解决方法
如果加上builder.setServletLoadOnStartup("ReportServer", 2);后启动的时候报错,起不来,报错信息一样