[Seasar-user:19541] S2Dao使用時に、なぜかリクエストがnullになる

熊谷 大 [E-MAIL ADDRESS DELETED]
2010年 3月 23日 (火) 18:09:09 JST


お世話になっております。
NTTデータ イントラマートの熊谷と申します。

現在、Seasarを使った開発で問題が発生しており、
ご助力をいただけないかと思い、メールさせて頂きました。

状況としましては、S2Daoを使ったDBアクセス時に、
リクエストとレスポンスがnullになっており、例外が発生しています。

類似現象を検索したところ、
 =================================
 [CONTAINER-211] - RequestDispatcher#forward() や include() をした場合に,
 S2ContainerFilter が外部コンテキストの request/response を null にしてしまうため,
 後続の処理で request/response を参照すると NullPointerException が
 発生する問題を修正しました.[Seasar-user:15379]
 http://www.seasar.org/wiki/index.php?ChangeLog%2FSeasar#t25c07ef
 =================================
という情報を発見したのですが、バージョンを上げても解決しませんでした。
※以下、バージョンアップ内容です
 s2-extension-2.4.25.jar   →s2-extension-2.4.40.jar
 s2-framework-2.4.25.jar   →s2-framework-2.4.40.jar
 ognl-2.6.9-patch-20070908.jar→ognl-2.6.9-patch-20090427.jar
 s2-struts-1.3.0.jar     →s2-struts-1.3.1.jar
 s2-dao-1.0.48.jar      →s2-dao-1.0.50.jar
 s2-dao-tiger-1.0.49.jar   →s2-dao-tiger-1.0.50.jar

現在、業務ロジック部分について、問題ないか確認しておりますが、
上記現象もありましたので、Seasar側で、使い方含め、
問題になりそうな箇所が無いか、確認していただけないでしょうか。

以下にスタックトレースを添付いたします。(業務部分はマスクさせていただきました)
また、他に必要な情報がございましたら、ご連絡をお願いいたします。
お手数をおかけいたしますが、何卒よろしくお願い致します。

====スタックトレース====
org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQLで例外(SQL=[], Message=[引数(response/getSessionInfo())が不正で
す。], ErrorCode=0, SQLState=null)が発生しました
	at org.seasar.extension.jdbc.util.DataSourceUtil.getConnection(DataSourceUtil.java:53)
	at org.seasar.extension.jdbc.impl.BasicHandler.getConnection(BasicHandler.java:157)
	at org.seasar.extension.jdbc.impl.BasicSelectHandler.execute(BasicSelectHandler.java:182)
	at org.seasar.dao.impl.SelectDynamicCommand.execute(SelectDynamicCommand.java:69)
	at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:53)
	at org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:71)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:55)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorAdapter.invoke(InterceptorAdapter.java:72)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorChain.invoke(InterceptorChain.java:49)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$16033d7$$MethodInvocation$$findFullItem3.proceed(MethodInvocationClassGene
rator.java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$16033d7.findFullItem(xxxxxxxxxxxxDao$$EnhancedByS2AOP$$16033d7.
java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$762031.$$execute$$invokeSuperMethod$$(xxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AO
P$$762031.java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$762031$$MethodInvocation$$execute0.proceed(MethodInvocationClassGenerator.
java)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:55)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorAdapter.invoke(InterceptorAdapter.java:72)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$762031$$MethodInvocation$$execute0.proceed(MethodInvocationClassGenerator.
java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$762031.execute(xxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$762031.java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$da8b04.$$execute$$invokeSuperMethod$$(xxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AO
P$$da8b04.java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$da8b04$$MethodInvocation$$execute0.proceed(MethodInvocationClassGenerator.
java)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:55)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorAdapter.invoke(InterceptorAdapter.java:72)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$da8b04$$MethodInvocation$$execute0.proceed(MethodInvocationClassGenerator.
java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$da8b04.execute(xxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$da8b04.java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d.$$doInit$$invokeSuperMethod$$(xxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AO
P$$148625d.java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d$$MethodInvocation$$doInit0.proceed(MethodInvocationClassGenerator.
java)
	at org.seasar.extension.tx.DefaultTransactionCallback.execute(DefaultTransactionCallback.java:58)
	at org.seasar.extension.tx.adapter.JTAUserTransactionAdapter.required(JTAUserTransactionAdapter.java:56)
	at org.seasar.extension.tx.RequiredInterceptor.invoke(RequiredInterceptor.java:50)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d$$MethodInvocation$$doInit0.proceed(MethodInvocationClassGenerator.
java)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:55)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorAdapter.invoke(InterceptorAdapter.java:72)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d$$MethodInvocation$$doInit0.proceed(MethodInvocationClassGenerator.
java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d.doInit(xxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$148625d.java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$1e41c04.$$doInit$$invokeSuperMethod$$(xxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2A
OP$$1e41c04.java)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$1e41c04$$MethodInvocation$$doInit0.proceed(MethodInvocationClassGenerator.
java)
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:55)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	at org.seasar.framework.aop.impl.NestedMethodInvocation.proceed(NestedMethodInvocation.java:53)
	at org.seasar.framework.aop.interceptors.InterceptorAdapter.invoke(InterceptorAdapter.java:72)
	at
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$1e41c04$$MethodInvocation$$doInit0.proceed(MethodInvocationClassGenerator.
java)
	at xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$1e41c04.doInit(xxxxxxxxxxxxxxxxxxxxx$$EnhancedByS2AOP$$1e41c04.
java)
	at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:592)
	at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:96)
	at org.seasar.framework.beans.impl.BeanDescImpl.invoke(BeanDescImpl.java:218)
	at org.seasar.struts.pojo.MethodBinding.invoke(MethodBinding.java:107)
	at org.seasar.struts.pojo.MethodBinding.invoke(MethodBinding.java:98)
	at org.seasar.struts.pojo.MethodBinding.invoke(MethodBinding.java:80)
	at org.seasar.struts.taglib.InitializeTag.doStartTag(InitializeTag.java:60)
	at _jsp._jsp.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx._jspService(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_jsp.java:63)
	at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
	at com.caucho.jsp.Page.pageservice(Page.java:587)
	at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
	at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:97)
	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
	at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:293)
	at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:111)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1078)
	at org.seasar.struts.processor.InternalS2RequestProcessor.doForward(InternalS2RequestProcessor.java:168)
	at
org.seasar.struts.processor.InternalS2RequestProcessor$$EnhancedByS2AOP$$5e593.$$doForward$$invokeSuperMethod$$(InternalS2RequestPro
cessor$$EnhancedByS2AOP$$5e593.java)
	at
org.seasar.struts.processor.InternalS2RequestProcessor$$EnhancedByS2AOP$$5e593$$MethodInvocation$$doForward7.proceed(MethodInvocatio
nClassGenerator.java)
	at org.seasar.struts.pojo.processor.DoSetInputPathForwardInterceptor.invoke(DoSetInputPathForwardInterceptor.java:34)
	at
org.seasar.struts.processor.InternalS2RequestProcessor$$EnhancedByS2AOP$$5e593$$MethodInvocation$$doForward7.proceed(MethodInvocatio
nClassGenerator.java)
	at
org.seasar.struts.processor.InternalS2RequestProcessor$$EnhancedByS2AOP$$5e593.doForward(InternalS2RequestProcessor$$EnhancedByS2AOP
$$5e593.java)
	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:396)
	at org.seasar.struts.processor.InternalS2RequestProcessor.processForwardConfig(InternalS2RequestProcessor.java:135)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)
	at org.seasar.struts.processor.InternalS2RequestProcessor.process(InternalS2RequestProcessor.java:63)
	at org.seasar.struts.processor.S2RequestProcessor.process(S2RequestProcessor.java:57)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
	at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
	at jp.co.intra_mart.foundation.security.filter.DuplicateLoginHandlingFilter.doFilter(DuplicateLoginHandlingFilter.java:176)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.foundation.security.filter.ActiveSessionFilter.doFilter(ActiveSessionFilter.java:226)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:58)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.framework.extension.struts.action.StrutsConnectFilter.doFilter(StrutsConnectFilter.java:81)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.framework.base.service.IntramartLocaleFilter.doFilter(IntramartLocaleFilter.java:103)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.foundation.security.filter.URLAccessFilter.doFilter(URLAccessFilter.java:172)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.foundation.security.filter.SessionFilter.doFilter(SessionFilter.java:175)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.system.servlet.jssp.JSSPContextFilter.doFilter(JSSPContextFilter.java:67)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at
jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.impl.HTTPContextHandlingFilterImpl.doFilter(HTTPContextHandlingFilterImpl.java
:53)
	at
jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.HTTPContextHandlingFilter.doFilter(HTTPContextHandlingFilter.java:94)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at
jp.co.intra_mart.foundation.security.filter.ResponseCharacterEncodingFilter.doFilter(ResponseCharacterEncodingFilter.java:104)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at
jp.co.intra_mart.foundation.security.filter.RequestCharacterEncodingFilter.doFilter(RequestCharacterEncodingFilter.java:76)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.system.servlet.filter.RequestControlFilter.doFilter(RequestControlFilter.java:78)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at
jp.co.intra_mart.system.servlet.filter.RequestQueryLengthMonitoringFilter.doFilter(RequestQueryLengthMonitoringFilter.java:51)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.common.aid.jsdk.javax.servlet.filter.ExceptionHandlingFilter.doFilter(ExceptionHandlingFilter.java:298)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.system.log.transition.TransitionLogFilter.doFilter(TransitionLogFilter.java:109)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.system.servlet.filter.RequestLogFilter.doFilter(RequestLogFilter.java:85)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at jp.co.intra_mart.system.servlet.filter.ResponseMonitoringFilter.doFilter(ResponseMonitoringFilter.java:57)
	at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
	at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
	at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
	at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436)
	at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
	at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
	at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: 引数(response/getSessionInfo())が不正です。
	at jp.co.intra_mart.framework.extension.seasar.util.LoginGroupDataSource.getConnection(LoginGroupDataSource.java:61)
	at org.seasar.extension.jdbc.util.DataSourceUtil.getConnection(DataSourceUtil.java:51)
	... 136 common frames omitted



以上、ご確認の程、よろしくお願いいたします。







Seasar-user メーリングリストの案内