【条件】
intra-mart Accel Platform 2013 Spring
※当事象はintra-mart Accel Platform 2013 Summer で改善されました。
【対応方法】
1.設定ファイルの修正
この設定を行わないとclassファイルやpropertiesファイルが書き換わった際に、一定の間隔でサーバーの再起動が実行されてしまいます。
<web-app xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin">
<log-handler name="" class="jp.co.intra_mart.common.platform.log.handler.JDKLoggingOverIntramartLoggerHandler"/>
<logger name="debug.com.sun.portal" level="warning" />
<!-- im_service(im_asynchronous) -->
<resource jndi-name="jca/work" type="jp.co.intra_mart.system.asynchronous.impl.executor.work.resin.ResinResourceAdapter" />
・・・中略・・・
<session-config>
<reuse-session-id>false</reuse-session-id>
<session-timeout>30</session-timeout>
</session-config>
<redeploy-mode>manual</redeploy-mode>
<dependency-check-interval>-1</dependency-check-interval>
</web-app>
2. warの作成
HotDeployを利用するためには、「SAStruts Framework on Accel Platform」モジュールが必須となります。
また、HotDeployを利用する場合は、war作成時に設定する実行環境を「単体テスト環境」に設定してください。
3. web.xmlの設定
2. から作成したwarファイルをresin上にデプロイした後、web.xmlの編集を行います。
○s2filterのfilter-mappingの定義の後にhotdeployFilterのfilter、及びfilter-mappingの定義を追加し、hotdeployを有効にするように設定します。
-------
<filter>
<filter-name>hotdeployfilter</filter-name>
<filter-class>org.seasar.framework.container.hotdeploy.HotdeployFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hotdeployfilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
-------
○AtmosphereServletの定義にてinit-palamとして以下の内容を追加します。
この設定を行わないと、下記のようなメッセージが表示され、表示されたクラスはHotDeployが有効でなくなってしまいます。
「HOT deploy対象クラス(クラス名)が非対象クラスから参照されて通常のクラスローダにロードされています」
------
<init-param>
<param-name>org.atmosphere.cpr.atmosphereHandlerPath </param-name>
<param-value>/WEB-INF/_classes</param-value>
</init-param>
------
4. サーバーの起動でHotDeployモードになっていることを確認する。
サーバー起動中のログに以下のメッセージが表示されていることを確認してください。
[INFO] o.s.f.c.f.SingletonS2ContainerFactory - [] Running on [ENV]ut, [DEPLOY MODE]Hot Deploy
※注意
本対応は2013 SpringにおいてHot Deploy機能を動かすための暫定的な設定です。
-- 対象 ------------------------------------------------------------------------
iAP/Accel Extensions/intra-mart e Builder for Accel Platform/全アップデート
--------------------------------------------------------------------------------
FAQID:10