activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lachezar Dobrev (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1638) XmlBeanDefinitionStoreException : activemq.xsd URL broken in spring.schemas
Date Wed, 26 Nov 2008 12:59:05 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47628#action_47628
] 

Lachezar Dobrev commented on AMQ-1638:
--------------------------------------

I would like to comment negatively on the decision to change the URLs for the schema files.

Using the no-version XSD files breaks many tools, including, but not limited to XML validation
tools.
Using the with-version XSD files fixes the problems with any other tools, however since the
URL is not mapped within the spring.schemas file it breaks application start up when no Internet
connection is available.
There is also the compatibility issue. If the no-version URL is used it will break, or work,
depending on whether the correct version of the JAR is in the class path, which leads to a
number of obscure XML validation errors at runtime.

The simplest thing is to include the no-version AND the with-current-version URLs in the spring.schemas
file.

Please reopen this issue.

> 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 [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@1be8711]
to prepare test instance [fr.xebia.sample.springframework.jms.requestreply.RequestReplySpringFrameworkTest@1958cc2]
> 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.


Mime
View raw message