WebSphere尝试从Internet加载Spring相关的模式

我在j2ee应用程序中运行spring时遇到了一些问题。

简短介绍:

我使用WebSphere 6.1(我不知道它是websphere特定的或更普遍的问题)

工件:

  1. web应用程序(war)在WEB-INF / lib文件夹中maven发布所有需要的spring依赖项。
  2. 然后将war打包在耳中并在应用程序服务器上进行部署。

还没有任何弹簧配置文件或应用程序中的spring参考。 只是在WEB-INF/lib jar文件,而不仅仅是spring。

部署应用程序并且应用程序开始加载时,应用程序服务器开始寻找一些spring xml架构:

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tool/spring-tool-2.0.xsd http://www.springframework.org/schema/tool/spring-tool-2.5.xsd http://www.springframework.org/schema/tool/spring-tool-3.0.xsd

它希望通过上面指定的url从互联网上获取它们。

题:

如何强制应用程序服务器使用本地(在Web存档中)的模式? 或者可能完全禁用此检查?

另一方面,当应用程序启动时,所有工作都完美(后来我尝试使用IoC)。

应用程序服务器没有Internet连接,并且所有尝试解析此架构都会导致等待连接超时。

我尝试了什么:

将包含url映射的spring.schemas放入位于web存档中的模式到META-INF文件夹中。 所有这些文件( spring.schemas和xml模式)都可以通过ClassLoader访问(选中)。

任何帮助将不胜感激。

/me [stupid j2ee developer]

更新1:

以下是我从websphere日志文件中获取的确切消息:

 [22.07.10 15:45:58:626 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/tool/spring-tool-2.0.xsd: Operation timed out: connect:could be due to invalid address [22.07.10 15:46:20:112 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/beans/spring-beans-2.0.xsd: Operation timed out: connect:could be due to invalid address [22.07.10 15:46:41:124 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/tool/spring-tool-2.5.xsd: Operation timed out: connect:could be due to invalid address [22.07.10 15:47:02:118 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/beans/spring-beans-2.5.xsd: Operation timed out: connect:could be due to invalid address [22.07.10 15:47:23:130 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/tool/spring-tool-3.0.xsd: Operation timed out: connect:could be due to invalid address [22.07.10 15:47:44:129 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/beans/spring-beans-3.0.xsd: Operation timed out: connect:could be due to invalid address 

我有commonsvalidation器框架的这个问题。 我所做的是更改xml文件中的名称空间[通常指定它们],指向我在我的网络服务器上托管的本地版本。 对于spring,我猜它是ApplicationContext.xml。

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://yourservername/springns/schema/beans/spring-beans-2.0.xsd

这不是完美的解决方案,但它确实有效。

让我知道事情的后续。

这可能是一个类加载器问题,其中另一个WAR的文件试图访问spring模式。 或者appserver可能会尝试加载web.xml中指定的spring文件。

您可以尝试将spring.schemas和XSD文件放在EAR目录的根目录中。 如果任何其他WAR文件试图加载文件,那么基于默认的PARENT_FIRST类加载器策略,它应该能够找到模式。 只是为了完全排除类加载器问题,如果上一步没有帮助,请尝试将XSD文件放在JRE / lib / ext目录中的jar中并重新启动服务器。