eBuilderを利用時、Javaソースを修正するたびに Resinの再起動が発生します。

【条件】 
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
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk