在JBoss配置中使用Spring ContextLoaderListener进行默认战争

时间:2009-12-08 08:06:25

标签: spring jboss

我正在尝试使用Spring配置在JBoss中部署的Web应用程序。我已将此添加到web.xml:

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

但是,我的配置基于'默认'JBoss配置,包括jmx-console.war之类的战争,现在这些配置无法部署错误:

[ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

那么我如何告诉ContextLoaderListener忽略这个错误,或者至少绕过这些特定的战争,同时仍然试图处理我自己的战争呢?

1 个答案:

答案 0 :(得分:3)

您必须在/WEB-INF/applicationContext.xml处拥有应用程序上下文。由于这是特定于应用程序的,因此应针对您的应用程序而不是其他应用程序进行配置。也就是说,不要在应用程序服务器级别映射ContextLoaderListener

您可以使用以下方式设置替代位置:

<context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
         /WEB-INF/mylocation/spring.xml
     </param-value>
</context-param>

但是你不能(而且你不能)忽略它。