宮崎です。お世話になります。<br><br>ご回答、ありがとうございます。<br><br>> 六です。ひとつ質問させてください。<br>><br>>> ②S2ContainerFactory.create()の中ではs2container.diconを読み込み、<br>><br>> との事なのですが、Maiインタフェース名.dicon ファイルに、<br>> s2container.diconをincludeしてませんか?<br>
> もしあれば、恐らくそのincludeは不要かと思いますので<br>> 削除してもう一度ご確認お願いします。<br>><br><br>◆確認してみましたが、「Maiインタフェース名.dicon」ファイルには<br> s2container.diconをincludeしておりませんでした。<br><br> ※もともとは「Maiインタフェース名.dicon」が無いパターンで動かしていて<br> 例外が発生しておりました。<br>
<br> ※S2ContainerFactory.java(ver2.44)のソースコードを見ると、<br> ・S2ContainerFactory.create()では initialized=false の場合、<br> まずconfigure()を実行する。<br><br> initializedは、configure()が実行されると、<br> リクエスト処理終了時にfalseに設定されるよう実装されているので<br>
今回のケースでは、必ずconfigure()が実行される。<br><br> ・configure()は以下のように実装されており、<br> メール送信時にs2container.diconを読み込ませないようにするのは難しいように見えます。<br><br> ----<br> public static final String FACTORY_CONFIG_KEY = "org.seasar.framework.container.factory.config";<br>
<br> public static final String FACTORY_CONFIG_PATH = "s2container.dicon";<br><br> public static void configure() {<br> final String configFile = System.getProperty(FACTORY_CONFIG_KEY,<br> FACTORY_CONFIG_PATH);<br>
configure(configFile);<br> }<br> ----<br><br>以上、よろしくお願い致します。<br><br><br><br>2011年8月8日月曜日 六 <a href="mailto:rokugensai@gmail.com">rokugensai@gmail.com</a>:<br>> 六です。ひとつ質問させてください。<br>><br>>> ②S2ContainerFactory.create()の中ではs2container.diconを読み込み、<br>
><br>> との事なのですが、Maiインタフェース名.dicon ファイルに、<br>> s2container.diconをincludeしてませんか?<br>> もしあれば、恐らくそのincludeは不要かと思いますので<br>> 削除してもう一度ご確認お願いします。<br>><br>><br>> 2011年8月4日18:03 宮崎俊郎 <<a href="mailto:toshy.miyazaki@gmail.com">toshy.miyazaki@gmail.com</a>>:<br>
>> お世話になります、宮崎と申します。<br>>><br>>> ◆現在、以下のような現象が発生しております。<br>>> 解決方法等ご教授頂きたく。<br>>><br>>> 以下、長文になりますが、ご容赦下さい。<br>>><br>>> 【動作環境】<br>>> ・JDK 1.6.0_23<br>>> ・apache-tomcat 6.0.32<br>
>> ・s2-framework-2.4.44.jar<br>>> ・s2-extension-2.4.44.jar<br>>> ・s2-tiger-2.4.44.jar<br>>> ・sa-struts-1.0.4-sp8.jar<br>>> ・s2mai-0.9.6.jar<br>>><br>>> 【現象】<br>>> tomcatへデプロイしたWebアプリケーション(S2Strutsベース)をHOT deployにて動作させています。その際、<br>
>> ・「メール送信画面」にて『確定』ボタンを押し、サーバへリクエストします。<br>>> 呼び出されたActionの実行メソッドの中で、S2Maiによるメール送信を行います。<br>>> メール送信処理を含め、実行メソッドが正常終了し、「メール送信完了画面」へ遷移します。<br>>> ・「メール送信完了画面」から、別のAction実行メソッドを呼び出すようなリクエストを発生させます。<br>
>> すると、以下のような例外が発生します。<br>>> --<br>>> 致命的: サーブレット default のServlet.service()が例外を投げました<br>>> java.lang.NullPointerException<br>>> at org.seasar.struts.util.S2ExecuteConfigUtil.findExecuteConfig(S2ExecuteConfigUtil.java:70)<br>
>> at org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:127)<br>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>
>> at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)<br>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>>> at xx.xx.xx.xx.xx.filter.DataSourceSwitchFilter.doFilter(DataSourceSwitchFilter.java:74)<br>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>>> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)<br>
>> at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)<br>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>>> at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)<br>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br>
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br>>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br>>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br>
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br>>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br>>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br>
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)<br>>> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)<br>>> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)<br>
>> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br>>> at java.lang.Thread.run(Thread.java:662)<br>>> --<br>>><br>>> 【調査結果】<br>>> ○COOL deployでは例外は発生せず、HOT deployで発生します。<br>
>> ○メール送信コードをコメントアウトすると、例外は発生しません。<br>>> ○メール送信コードがある場合とない場合で処理を比べると、以下のような違いがあ> _______________________________________________<br>>> Seasar-user mailing list<br>>> <a href="mailto:Seasar-user@ml.seasar.org">Seasar-user@ml.seasar.org</a><br>
>> <a href="https://ml.seasar.org/mailman/listinfo/seasar-user">https://ml.seasar.org/mailman/listinfo/seasar-user</a><br>>><br>>