首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring在JPPF中遇到classloader的有关问题

2012-10-30 
Spring在JPPF中遇到classloader的问题。有个JPPF的task是使用spring的。当spring配置文件中使用了引用xmlns:

Spring在JPPF中遇到classloader的问题。
有个JPPF的task是使用spring的。当spring配置文件中使用了       引用xmlns:context="http://www.springframework.org/schema/context"这个namespace时,会报找不到这个namespace的错误。 如下:

引用[client: driver-3 (192.168.1.60:11198)] : Reconnected to the JPPF task server
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context]
Offending resource: class path resource [donkey-context.xml]

at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:281)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1250)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1243)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)


通过看org.springframework.beans.factory.xml.PluggableSchemaResolver.getSchemaMapping(String systemId)的方法得知, 发生找不到META-INF/spring.schemas这个文件的原因应该是用了不同的classloader。 JPPF使用的是org.jppf.node.JPPFClassLoader,这是一个network classloader通过网络来加载class。 解决这个问题的方法就是把META-INF/spring.schemas和META-INF/spring.hanlders打包成一个jar。 仍到jppf node的lib目录下。 (我尝试过把spring.jar考到lib目录下。可是发现其他的一些依赖包都需要放到lib目录中了。 )

热点排行