嘿,我正在尝试在我的 Web 应用程序中连接多个调度程序 servlet(实际上是一个调度程序 servlet 和一个消息调度程序 servlet)。所有这些 servlet 都需要共享我的所有 bean,因此我将应用程序上下文连接为上下文参数。
<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>
由于没有仅用于一个调度程序 servlet 的 bean,因此我没有放置 init-param。
但是当我没有指定参数时,spring会寻找“/WEB-INF/servlet-name-servlet.xml”,所以我得到这个错误:
引起:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/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>
但我真的不想在里面放一个虚拟文件来抑制错误。我想首先要求spring停止寻找文件。