What would cause the following exception when session management is configured with jetty-runner on startup?
2020-01-03 16:27:56.206:INFO:oeja.AnnotationConfiguration:main: Scanning
elapsed time=7178ms
2020-01-03 16:27:56.214:DBUG:oejs.session:main: SessionManager default
maxInactiveInterval=1800
2020-01-03 16:27:56.216:DBUG:oejs.session:main: SessionManager default
maxInactiveInterval=1800
2020-01-03 16:27:56.223:INFO:oejshC.ROOT:main: No Spring
WebApplicationInitializer types detected on classpath
2020-01-03 16:27:56.517:INFO:oejs.session:main: DefaultSessionIdManager
workerName=node0
2020-01-03 16:27:56.517:INFO:oejs.session:main: No SessionScavenger set,
using defaults
2020-01-03 16:27:56.519:DBUG:oejs.session:main: Using own scheduler for
scavenging
2020-01-03 16:27:56.519:INFO:oejs.session:main: node0 Scavenging every
660000ms
2020-01-03 16:27:56.655:WARN:oejw.WebAppContext:main: Failed startup of
context o.e.j.w.WebAppContext@737996a0
{/tavconnect-production-1512-md1,/,file:///Users/me/jetty/tmpdir/jetty-0_0_0_0-8080-tavconnect-production-1512-md1_war-_-any-2325432774449264012.dir/webapp/,UNAVAILABLE}{current.war}
java.lang.IllegalStateException: No SessionContext
at
org.eclipse.jetty.server.session.AbstractSessionDataStore.doStart(AbstractSessionDataStore.java:192)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.session.AbstractSessionCache.doStart(AbstractSessionCache.java:213)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120)
at
org.eclipse.jetty.server.session.SessionHandler.doStart(SessionHandler.java:504)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at
org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120)
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:880)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:407)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:100)
at org.eclipse.jetty.server.Server.doStart(Server.java:371)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.eclipse.jetty.runner.Runner.run(Runner.java:520)
at org.eclipse.jetty.runner.Runner.main(Runner.java:565)
2020-01-03 16:27:56.656:INFO:oejs.RequestLogWriter:main: Opened
/Users/johnruggentaler/logs/2020_01_03-requests.log
2020-01-03 16:27:56.671:INFO:oejs.AbstractConnector:main: Started
ServerConnector@6fdb1f78{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-01-03 16:27:56.672:INFO:oejs.Server:main: Started @20115ms
2020-01-03 16:38:56.532:DBUG:oejs.session:Session-HouseKeeper-4135c3b-1:
node0 scavenging sessions
OS version: Mac OS Catalina 10.15.2
jetty-runner version: 9.4.25.v20191220
Java version: 1.8.0_232
Here is my context.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war">current.war</Set>
<Set name="securityHandler">
<New class="org.eclipse.jetty.security.ConstraintSecurityHandler">
<Set name="sessionRenewedOnAuthentication">false</Set>
</New>
</Set>
<Call id="sh" name="getSessionHandler">
<Set name="sessionCache">
<New class="org.eclipse.jetty.server.session.DefaultSessionCache">
<Arg><Ref id="sh"/></Arg>
<Set name="sessionDataStore">
<New class="org.eclipse.jetty.redis.session.RedisSessionDataMap">
<Arg>localhost</Arg>
<Arg>6379</Arg>
<Set name="database">0</Set>
<Set name="expirySec">0</Set>
<Set name="keyPrefix">session:</Set>
</New>
</Set>
</New>
</Set>
</Call>
</Configure>
I downloaded jetty-redis-sessions and modified RedisSessionDataMap see
attachment. I built the jetty-redis-sessions jar and included it in my lib
directory. In the constructor I logged the Host and port to verify the
constructor is called,...
RedisSessionDataMap.java
Description: Binary data
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
