1

Web アプリケーションで複数のディスパッチャ サーブレットを接続しようとしています (実際には 1 つのディスパッチャ サーブレットと 1 つのメッセージ ディスパッチャ サーブレット)。これらすべてのサーブレットはすべての Bean を共有する必要があるため、アプリケーション コンテキストを context-param として配線しています。

<servlet>
    <servlet-name>apf-inflow</servlet-name>
    <servlet-class>org.springframework.ws.transport.http.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>com.fmr.bpo.asyncprocessingframework.concentrator.wiring.configuration.pojo.SampleConfig</param-value>
</context-param>
<context-param>
    <param-name>contextClass</param-name>
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet-mapping>
    <servlet-name>apf-inflow</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

1 つのディスパッチャ サーブレット専用の Bean がないため、init-param を入れていません。

しかし、パラメーターを指定しないと、Spring は「/WEB-INF/servlet-name-servlet.xml」を検索するため、次のエラーが発生します。

原因: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext リソース [/WEB-INF/apf-inflow-servlet.xml]; ネストされた例外は java.io.FileNotFoundException: ServletContext リソース [/WEB-INF/apf-inflow-servlet.xml] を開けませんでした

ディスパッチャーに構成を検索しないように指示する方法はありますか (既に共通の構成を配線しているため)。

編集:

デフォルトの場所に追加するか、ディスパッチャーを空のスプリング構成ファイルに明示的に指定すると、問題が修正されます。

<servlet>
    <servlet-name>apf-inflow</servlet-name>
    <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>com.fmr.bpo.asyncprocessingframework.concentrator.wiring.configuration.pojo.BlankConfig</param-value>
    </init-param>
    <init-param>
        <param-name>contextClass</param-name>
        <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
    </init-param>
    <init-param>
      <param-name>transformWsdlLocations</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet> 

しかし、エラーを抑制するためにダミーファイルをそこに入れたくありません。そもそも春にファイルを探すのをやめるようお願いしたいです。

4

0 に答える 0