[Seasar-user:18557] Re: Dolteng0.38.0のS2BlazeDSでエラー
share kara
[E-MAIL ADDRESS DELETED]
2009年 10月 1日 (木) 16:27:22 JST
唐立です。
> ともあれ (JW),HttpSession が invalidate される
> ところを特定してください.
> 例えば HttpSessionListener を登録して
> sessionDestroyed() でスタックトレースを出力するなど.
Listenerを作成して、sessionDestroyed()でブレークポイントを設定して、
スタックトレースをとってみました。
すこし追ってみたところ、BaseHTTPEndpoint.setupFlexClient()のところで
Duplicate Sessionと判定されて、セッションが無効化されているようです。
もしかすると、Seasar2.4.35からの変更で、BlaseDS側の潜在的な不具合が出てきてしまったとか、そういう話しなのでしょうか。。。
◇スタックトレース
Daemon Thread [http-8080-1] (Suspended (breakpoint at line 14 in
SampleSessionListener))
SampleSessionListener.sessionDestroyed(HttpSessionEvent) 行: 14
StandardSession.expire(boolean) 行: 702
StandardSession.expire() 行: 660
StandardSession.invalidate() 行: 1113
StandardSessionFacade.invalidate() 行: 150
HotdeployHttpSession.invalidate() 行: 177
HttpFlexSession.invalidate(boolean) 行: 310
HttpFlexSession.invalidate() 行: 291
S2AMFEndpoint(BaseHTTPEndpoint).setupFlexClient(String) 行: 411
S2AMFEndpoint(AbstractEndpoint).setupFlexClient(Message) 行: 910
MessageBrokerFilter.invoke(ActionContext) 行: 92
LegacyFilter.invoke(ActionContext) 行: 158
SessionFilter.invoke(ActionContext) 行: 44
BatchProcessFilter.invoke(ActionContext) 行: 67
SerializationFilter.invoke(ActionContext) 行: 146
S2AMFEndpoint(BaseHTTPEndpoint).service(HttpServletRequest,
HttpServletResponse) 行: 278
MessageBrokerServlet.service(HttpServletRequest, HttpServletResponse) 行: 322
MessageBrokerServlet(HttpServlet).service(ServletRequest,
ServletResponse) 行: 717
ApplicationFilterChain.internalDoFilter(ServletRequest,
ServletResponse) 行: 290
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) 行: 206
S2ContainerFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行: 79
ApplicationFilterChain.internalDoFilter(ServletRequest,
ServletResponse) 行: 235
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) 行: 206
HotdeployFilter.doHotdeployFilter(HttpServletRequest,
HttpServletResponse, FilterChain) 行: 99
HotdeployFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行: 67
ApplicationFilterChain.internalDoFilter(ServletRequest,
ServletResponse) 行: 235
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) 行: 206
EncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) 行: 69
ApplicationFilterChain.internalDoFilter(ServletRequest,
ServletResponse) 行: 235
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) 行: 206
StandardWrapperValve.invoke(Request, Response) 行: 233
StandardContextValve.invoke(Request, Response) 行: 191
StandardHostValve.invoke(Request, Response) 行: 128
ErrorReportValve.invoke(Request, Response) 行: 102
StandardEngineValve.invoke(Request, Response) 行: 109
CoyoteAdapter.service(Request, Response) 行: 293
Http11Processor.process(Socket) 行: 849
Http11Protocol$Http11ConnectionHandler.process(Socket) 行: 583
JIoEndpoint$Worker.run() 行: 454
Thread.run() 行: 637 [ローカル変数は使用不可]
◇コンソールの出力
2009-10-01 15:31:42,834 [http-8080-3] DEBUG
org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
deployを開始します
情報: Session Created.
2009-10-01 15:31:42,851 [http-8080-3] DEBUG
org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
deployを終了しました
2009-10-01 15:31:42,861 [http-8080-2] DEBUG
org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
deployを開始します
情報: Session Destroyed.
2009-10-01 15:31:49,895 [http-8080-2] ERROR
org.seasar.framework.container.hotdeploy.HotdeployHttpSession -
例外が発生しました。理由はjava.lang.IllegalStateException: setAttribute:
セッションは既に無効化されています
java.lang.IllegalStateException: setAttribute: セッションは既に無効化されています
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1291)
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1256)
at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
at org.seasar.framework.container.hotdeploy.HotdeployHttpSession.flush(HotdeployHttpSession.java:94)
at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:104)
at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:637)
2009-10-01 15:31:49,898 [http-8080-2] DEBUG
org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
deployを終了しました
◇Flex側に返されるエラー
[FaultEvent fault=[RPC Fault faultString="Detected duplicate
HTTP-based FlexSessions, generally due to the remote host disabling
session cookies. Session cookies must be enabled to manage the client
connection correctly."
faultCode="Server.Processing.DuplicateSessionDetected"
faultDetail="null"] messageId="812CD3AE-4084-EE8F-CE31-E56717BFA127"
type="fault" bubbles=false cancelable=true eventPhase=2]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SampleSessionListener.java
Type: application/octet-stream
Size: 522 bytes
Desc: 無し
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20091001/dc9cd04a/attachment.obj>
Seasar-user メーリングリストの案内