사용자 지정 세션 저장소를 갖기 위해 사용자 지정 sessionManager (NoSqlSessionManager
확장) 및 sessionIdManager를 구현했습니다. 내 코드 (필요한 항아리와 함께)는 ${jetty.home}/lib/ext
(버전 8.1.4 BTW)에 들어갔다. start.ini
으로 내가 다른 다음과 같은 내용으로 구성 파일을 포함 :부두 및 사용자 지정 sessionIdManager
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Set name="sessionIdManager">
<New id="customIdMgr" class="com.me.customSessionIdManager">
<Arg>...</Arg>
</New>
</Set>
</Configure>
부두의 시작과 sessionIdManager 작동 것으로 보인다. 적어도 scavenge()
메서드가 호출되고 있습니다. 여태까지는 그런대로 잘됐다. 다음 단계는 내 맞춤 세션 관리자를 내 선택의 WebAppContext
과 연결하는 것입니다. 나는 다음과 같은 내용으로 오버레이 템플릿 (overlay.xml
) 이내에했다 :
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="server">
<Get id="customIdMgr" name="sessionIdManager"/>
</Get>
<Set name="sessionHandler">
<New class="org.eclipse.jetty.server.session.SessionHandler">
<Arg>
<New class="com.me.customSessionManager">
<Set name="sessionIdManager"><Ref id="customIdMgr"/></Set>
</New>
</Arg>
</New>
</Set>
</Configure>
그러나 나는 얻을이 :
의미WARN:oejx.XmlConfiguration:Config error at <Get id="customIdMgr" name="sessionIdManager"/> java.lang.NullPointerException
... 그 주에 등록 된 객체 오버레이가 처리 될 때 부두 구성이 사라졌습니다.
내가 여기 잘못 생각한 이유는 무엇입니까?
그래도 문제가 해결되지 않으면이를 수락해야합니다. – Gray