jetty - Jetty 将 9.3.27 升级到 9.4.43 - 构建成功但应用程序部署失败“共享调度程序未启动”错误
问题描述
我的应用程序目前在嵌入式码头版本 9.3.27 上运行,我们正在尝试升级到 9.4.43。部署步骤失败,出现“共享调度程序未启动”错误
构建工具:Gradle
- 使用默认会话管理器:
DefaultSessionIdManager defaultSessionIdManager = new DefaultSessionIdManager(server);
HouseKeeper houseKeeper = new HouseKeeper();
houseKeeper.setIntervalSec(30);
defaultSessionIdManager.setSessionHouseKeeper(houseKeeper);
server.setSessionIdManager(defaultSessionIdManager);
- 默认会话处理程序:
WebAppContext webAppContext = new WebAppContext(ServletContextHandler.SESSIONS);
SessionHandler sessions = webAppContext.getSessionHandler();
SessionCache cache = new DefaultSessionCache(sessions);
cache.setSessionDataStore(new NullSessionDataStore());
sessions.setSessionCache(cache);
构建成功,但部署步骤(/gradlew clean run)失败,出现以下异常。
Exception: Exception in thread "main" java.lang.IllegalStateException:
Shared scheduler not started
at org.eclipse.jetty.server.session.HouseKeeper.startScavenging(HouseKeeper.java:124)
at org.eclipse.jetty.server.session.HouseKeeper.setIntervalSec(HouseKeeper.java:206)
at org.eclipse.jetty.server.session.HouseKeeper.doStart(HouseKeeper.java:93)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.server.session.DefaultSessionIdManager.doStart(DefaultSessionIdManager.java:346)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
解决方案
推荐阅读
- sql - 对于每个月,计算具有间隔的条目
- sql - SQL 检查用户是否有 IN 和 Out
- visual-studio - 雪碧没有出现在统一 2D 中
- racket - 如何在 Racket 中使用 let 继续下一次迭代?
- java - 将 Struts 2 应用程序部署到 tomcat 7 时抛出 NoSuchMethodException
- reactjs - Jest/React-testing-library:.find 不是被测组件中的函数
- r - dplyr:在 NSE 中按位置排列列
- jwplayer - 如何在 jwplayer 中投放两个或三个前贴片广告?
- python - 如何从python中的关联类对象访问方法?
- arrays - 指向数组的指针的 Fortran 数组返回相同的地址