Uploaded image for project: 'S2Struts'
  1. S2Struts
  2. STRUTS-30

strutsコンフィグファイルを分割した場合、web.xmlに指定したコンフィグファイルがリロード対象(HOT deploy対象)にならない

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.3.0-beta-3
    • Affects Version/s: 1.3.0-beta-2
    • Component/s: S2Struts
    • None

      状況としては、strutsコンフィグファイルを分割(モジュール分割では
      無く単純にファイルを分割)しており、web.xmlに以下のように登録して
      いるにも関わらず、常にstruts-config.xmlという名前のコンフィグ
      ファイルしかリロード対象になっていないようでした。

      ==========================================================================
      <servlet>
      <servlet-name>action</servlet-name>
      <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
      <init-param>
      <param-name>config</param-name>
      <param-value>
      /WEB-INF/struts-config.xml,/WEB-INF/useradmin-struts-config.xml
      </param-value>
      </init-param>
      ==========================================================================

      ソースコードを確認したところ、

      org.seasar.struts.hotdeploy.impl.ModuleConfigLoaderImplのloadメソッド
      中に、
      ==========================================================================
      if ("".equals(prefix))

      { config = initModuleConfig(prefix, "/WEB-INF/struts-config.xml"); }

      else

      { ... }
      ==========================================================================
      と直接ファイル名が指定されている部分があり、これを
      ==========================================================================
      if ("".equals(prefix)) { config = initModuleConfig(prefix, getServletConfig().getInitParameter("config")); } else { ... }

      ==========================================================================
      と変更したところ正常に動作させることが出来ました。

            Assignee:
            kanagashi kanagashi
            Reporter:
            kanagashi kanagashi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: