[
https://issues.apache.org/activemq/browse/AMQ-2010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bruce Snyder updated AMQ-2010:
------------------------------
Fix Version/s: 5.5.0
(was: 5.4.1)
> META-INF/services files ended up in wrong bundle (jar), missing imports
> -----------------------------------------------------------------------
>
> Key: AMQ-2010
> URL: https://issues.apache.org/activemq/browse/AMQ-2010
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.1.0
> Environment: Springsource DM 1.0.0.RC2, java jdk (sun) 1.6_07, Linux
> 32bit
> Reporter: Hrvoje Habjanic
> Priority: Trivial
> Fix For: 5.5.0
>
>
> Hi!
> I'm unable to use namespaces in spring xml files. It just cannot resolve
> namespacehttp://activemq.apache.org/schemas/core:
> ...
> [2008-11-21 15:06:59.627] server-dm-7
> rk.beans.factory.xml.DefaultBeanDefinitionDocumentReader.unknown D Loading
> bean definitions
> [2008-11-21 15:06:59.628] server-dm-7
> ramework.osgi.extender.internal.support.NamespacePlugins.unknown D Trying to
> resolving namespace handler for http://activemq.apache.org/schema/core
> [2008-11-21 15:06:59.630] server-dm-7
> .app.spring.GenericModuleOsgiBundleXmlApplicationContext.unknown E Pre
> refresh error
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
> Configuration problem: Unable to locate Spring NamespaceHandler for XML
> schema namespace [http://activemq.apache.org/schema/core]
> Offending resource: URL
> [bundleentry://89/META-INF/spring/bundle-context-amq.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
> ...
> To make long story short, it seems that in the process of building jar,
> someone forgot to move META-INF/services files in separate bundles.
> In OSGI enviroment, classpath loader of one bundle can only see files in jars
> (bundles) which he has import directive, including local root. In current
> build of activemq, META-INF/services files are all stored in
> META-INF/services dir under activemq-core bundle.On the other hand, namespace
> parser is in xbean.spring bundle (referenced by META-INF/spring.handlers).
> Because parser is in separate bundle, it can not "see" META-INF/services
> directory, and it dies. Also, import for org.apache.xbean.spring.context.v2
> is missing from activemq-core. Additionally, for bundle loader to scan for
> spring.schema file, bundle _must_ import
> org.springframework.beans.factory.xml, which is also missing from manifest
> file. I'm not 100% shure in this, maybe all files from META-INF/services
> should be moved from activemq-core to xbaen.spring ...
> Anyhow, fix to make it work is to:
> - move META-INF/services in propriate bundles
> - add following import to activemq-core:
> org.springframework.beans.factory.xml;resolution:=optional,
> org.apache.xbean.spring.context.v2;resolution:=optional
> That's it for now. :-)
> H.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.