[ 
https://issues.apache.org/activemq/browse/AMQ-1638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hiram Chirino resolved AMQ-1638.
--------------------------------

    Fix Version/s: 5.1.0
       Resolution: Fixed

> XmlBeanDefinitionStoreException : activemq.xsd URL broken in spring.schemas
> ---------------------------------------------------------------------------
>
>                 Key: AMQ-1638
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1638
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.0.0
>         Environment: activemq-core-5.0.0 and spring-jms-2.5.2 .
>            Reporter: Cyrille Le Clerc
>            Assignee: Hiram Chirino
>             Fix For: 5.1.0
>
>         Attachments: AMQ-1638.patch
>
>
> *Problem description*
> activemq-core's {{spring.schemas}} file targets broken activemq xsd urls. 
> When {{beans.xml}} targets the correct activemq-core-5.0.0.xsd url in 
> {{xsi:schemaLocation}} attribute, Spring fails to start if an internet 
> connection to activemq.apache.org does not work.
> * Broken urls currently in {{spring.schemas}} : 
> ** http://activemq.apache.org/schema/activemq-core.xsd 
> ** http://activemq.apache.org/schema/activemq-core-5.0.xsd
> * Correct url to add in {{spring.schemas}} : 
> ** http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd
> *Sample of currently failing spring configuration file*
> {code:xml|title=beans.xml with "activemq-core-5.0.0.xsd" in 
> "xsi:schemaLocation" attribute}
> <beans xmlns="http://www.springframework.org/schema/beans"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:lang="http://www.springframework.org/schema/lang";
>    xmlns:amq="http://activemq.org/config/1.0"; 
> xmlns:jms="http://www.springframework.org/schema/jms";
>    xsi:schemaLocation="
> http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://www.springframework.org/schema/lang 
> http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
> http://www.springframework.org/schema/jms 
> http://www.springframework.org/schema/jms/spring-jms-2.5.xsd
> http://activemq.org/config/1.0 
> http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd";>
>    ...
>    <amq:queue id="requestDestination" physicalName="requestDestination" />
>    <amq:queue id="replyToDestination" physicalName="replyToDestination" />
>    <amq:connectionFactory id="activeMqConnectionFactory" 
> brokerURL="vm://localhost?broker.persistent=false&amp;broker.useJmx=false" />
>    ...
> </beans>
> {code}
> *Spring loading failure stacktrace*
> {noformat}
> 42907 [main] WARN  
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader  - Ignored XML 
> validation warning
> org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema 
> document 'http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd', 
> because 1) could not find the document; 2) the document could not be read; 3) 
> the root element of the document is not <xsd:schema>.
>       at 
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> ...
>       at 
> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
>       at 
> org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
> ...
>       at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:44)
> ...
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> 42969 [main] ERROR org.springframework.test.context.TestContextManager  - 
> Caught exception while allowing TestExecutionListener [EMAIL PROTECTED] to 
> prepare test instance [EMAIL PROTECTED]
> org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 
> 24 in XML document from class path resource 
> [fr/xebia/sample/springframework/jms/requestreply/beans.xml] is invalid; 
> nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: 
> The matching wildcard is strict, but no declaration can be found for element 
> 'amq:queue'.
>       at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
> ...
>       at 
> org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:44)
> ...
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The 
> matching wildcard is strict, but no declaration can be found for element 
> 'amq:queue'.
>       at 
> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
> ...
>       at 
> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
>       at 
> org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
>       at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:382)
>       ... 26 more
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to