You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Brett Jordan <br...@velsys.com> on 2007/04/03 06:36:03 UTC
embedded broker using Spring 2.0 broken!
In December I successfully ran up an embedded broker (while investigating
Lingo), defining it in Spring 2.0 config as in the example in:
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
It doesn't work for me any more. I get a SAX exception (see below).
I can get around it by downloading the
activemq-core-4.1-incubator-SNAPSHOT.xsd file, storing it locally and
hacking it. My spring config starts like this:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:amq="http://activemq.org/config/1.0"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://activemq.org/config/1.0
http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd"
>
<!-- lets create an embedded ActiveMQ Broker -->
<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:61616" />
</amq:transportConnectors>
</amq:broker>
Can someone confirm if there is a problem with the xsd file, or is there a
problem with the way it is being parsed. I tried using the latest xerces
parsers, but hit the same problem.
org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of
element 'amq:transportConnector' is not complete. One of
'{"http://activemq.org/config/1.0":broker,
"http://activemq.org/config/1.0":brokerInfo,
"http://activemq.org/config/1.0":discoveryAgent,
"http://activemq.org/config/1.0":messageAuthorizationPolicy,
"http://activemq.org/config/1.0":server,
"http://activemq.org/config/1.0":taskRunnerFactory,
WC[##other:"http://activemq.org/config/1.0"]}' is expected.
at
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown
Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown
Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(Unknown
Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator.elementLocallyValidType(Unknown
Source)
at
org.apache.xerces.impl.xs.XMLSchemaValidator.processElementContent(Unknown
Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.handleEndElement(Unknown
Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(Unknown
Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:405)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:357)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:196)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:156)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:499)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:407)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:357)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
at
org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:89)
at
org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:74)
--
View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9803575
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
Re: embedded broker using Spring 2.0 broken!
Posted by Brett Jordan <br...@velsys.com>.
Brett Jordan wrote:
>
>
>>> You tried the 4.1.1 release?
>
> I hadn't, but I just tried it then and still get the error.
> I think there is a problem with the published xsd file. (I tried a few
> others from the same directory with no luck)
> In both the broker complex type , and the transportConnector complex type
> the last element in the sequence looks like this:
> <xs:any namespace='##other'/>
>
> If I comment these 2 lines out (lines 474 and 4144), it parses and my
> embedded broker comes up. I will attach my edited version of the xsd file
> (taken from
> http://http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
> http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
> . )
> http://www.nabble.com/file/7641/activemq-core-4.1-incubator-SNAPSHOT.xsd
> activemq-core-4.1-incubator-SNAPSHOT.xsd
>
> I am new to xml schema, so I don't understand the intention of this
> element, or how to change my xml to conform.
>
>
It looks like this is caused by a bug in the XBean ant task that generates
the xsd.
The inclusion of the <xs:any namespace='##other'/> element in the sequence
for org.apache.activemq.broker.TransportConnector, forces that element to
have a child that conforms to it.
Like all other elements in that sequence it should have had minOccurs=0:
<xs:any namespace='##other' minOccurs='0'/>
Can this be raised with XBean people ?
In the meantime, can someone possibly hand-edit the xsd file at
http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
I don't think anyone will be able to use the example for Spring 2.0 at
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
until this is addressed.
--
View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9849349
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
Re: embedded broker using Spring 2.0 broken!
Posted by Brett Jordan <br...@velsys.com>.
>> You tried the 4.1.1 release?
I hadn't, but I just tried it then and still get the error.
I think there is a problem with the published xsd file. (I tried a few
others from the same directory with no luck)
In both the broker complex type , and the transportConnector complex type
the last element in the sequence looks like this:
<xs:any namespace='##other'/>
If I comment these 2 lines out (lines 474 and 4144), it parses and my
embedded broker comes up. I will attach my edited version of the xsd file
(taken from
http://http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd
. )
http://www.nabble.com/file/7641/activemq-core-4.1-incubator-SNAPSHOT.xsd
activemq-core-4.1-incubator-SNAPSHOT.xsd
I am new to xml schema, so I don't understand the intention of this element,
or how to change my xml to conform.
--
View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9828458
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
Re: embedded broker using Spring 2.0 broken!
Posted by James Strachan <ja...@gmail.com>.
You tried the 4.1.1 release?
On 4/3/07, Brett Jordan <br...@velsys.com> wrote:
>
>
>
> >> Which version are you using?
>
> Spring 2.0.1
> xbean-spring 2.7 (tried 2.6 as well)
> ActiveMQ 4.1.0-incubator
> Lingo 1.3
>
> --
> View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9805355
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>
>
--
James
-------
http://radio.weblogs.com/0112098/
Re: embedded broker using Spring 2.0 broken!
Posted by Brett Jordan <br...@velsys.com>.
>> Which version are you using?
Spring 2.0.1
xbean-spring 2.7 (tried 2.6 as well)
ActiveMQ 4.1.0-incubator
Lingo 1.3
--
View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9805355
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
Re: embedded broker using Spring 2.0 broken!
Posted by James Strachan <ja...@gmail.com>.
Which version are you using?
On 4/3/07, Brett Jordan <br...@velsys.com> wrote:
>
> In December I successfully ran up an embedded broker (while investigating
> Lingo), defining it in Spring 2.0 config as in the example in:
>
> http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
>
> It doesn't work for me any more. I get a SAX exception (see below).
> I can get around it by downloading the
> activemq-core-4.1-incubator-SNAPSHOT.xsd file, storing it locally and
> hacking it. My spring config starts like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:util="http://www.springframework.org/schema/util"
> xmlns:amq="http://activemq.org/config/1.0"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://www.springframework.org/schema/util
> http://www.springframework.org/schema/util/spring-util.xsd
> http://activemq.org/config/1.0
> http://people.apache.org/repository/org.apache.activemq/xsds/activemq-core-4.1-incubator-SNAPSHOT.xsd"
> >
>
> <!-- lets create an embedded ActiveMQ Broker -->
> <amq:broker useJmx="false" persistent="false">
> <amq:transportConnectors>
> <amq:transportConnector uri="tcp://localhost:61616" />
> </amq:transportConnectors>
> </amq:broker>
>
>
>
>
> Can someone confirm if there is a problem with the xsd file, or is there a
> problem with the way it is being parsed. I tried using the latest xerces
> parsers, but hit the same problem.
>
>
>
> org.xml.sax.SAXParseException: cvc-complex-type.2.4.b: The content of
> element 'amq:transportConnector' is not complete. One of
> '{"http://activemq.org/config/1.0":broker,
> "http://activemq.org/config/1.0":brokerInfo,
> "http://activemq.org/config/1.0":discoveryAgent,
> "http://activemq.org/config/1.0":messageAuthorizationPolicy,
> "http://activemq.org/config/1.0":server,
> "http://activemq.org/config/1.0":taskRunnerFactory,
> WC[##other:"http://activemq.org/config/1.0"]}' is expected.
> at
> org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown
> Source)
> at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
> at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
> at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
> at
> org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown
> Source)
> at org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown
> Source)
> at
> org.apache.xerces.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(Unknown
> Source)
> at
> org.apache.xerces.impl.xs.XMLSchemaValidator.elementLocallyValidType(Unknown
> Source)
> at
> org.apache.xerces.impl.xs.XMLSchemaValidator.processElementContent(Unknown
> Source)
> at org.apache.xerces.impl.xs.XMLSchemaValidator.handleEndElement(Unknown
> Source)
> at org.apache.xerces.impl.xs.XMLSchemaValidator.emptyElement(Unknown
> Source)
> at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
> at
> org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:405)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:357)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
> at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:196)
> at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:156)
> at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
> at
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:89)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:499)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:407)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:357)
> at
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
> at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
> at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
> at
> org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:168)
> at
> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
> at
> org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
> at
> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94)
> at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:294)
> at
> org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:89)
> at
> org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:74)
>
> --
> View this message in context: http://www.nabble.com/embedded-broker-using-Spring-2.0-broken%21-tf3509768s2354.html#a9803575
> Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
>
>
--
James
-------
http://radio.weblogs.com/0112098/