Camel Route,找到以元素“dataFormats”开头的无效内容

时间:2013-03-19 17:03:44

标签: spring activemq apache-camel

我遇到了我的骆驼路线问题而且没有识别我的“dataFormats”标签。我想我的命名空间可能有问题,但我不确定。任何帮助将不胜感激。我的错误如下:

无法在项目上执行目标org.apache.camel:camel-maven-plugin:2.10.4:run(default-cli)ExactTargetSample:null:MojoExecutionException:InvocationTargetException:来自文件[C:\的XML文档中的第52行EclipseWorkspaces \ EclipseWorkSpaceCurrent \ ApacheCamel \ target \ classes \ META-INF \ spring \ camel-context.xml]无效;嵌套异常是org.xml.sax.SAXParseException; lineNumber:52; columnNumber:20; cvc-complex-type.2.4.a:从元素“ dataFormats ”开始发现无效内容。其中一个'{“http://camel.apache.org/schema/spring”:avro,“http://camel.apache.org/schema/spring”:beanio,“http://camel.apache.org/schema/spring”:bindy,“http://camel.apache.org/schema/spring”:castor,“http://camel.apache.org/schema/spring “:crypto,”http://camel.apache.org/schema/spring“:csv,”http://camel.apache.org/schema/spring“:自定义,”http://camel.apache.org/schema/spring“:flatpack,”http://camel.apache.org/schema/spring“:gzip,”http://camel.apache.org/schema/spring “:hl7,”http://camel.apache.org/schema/spring“:jaxb,”http://camel.apache.org/schema/spring“:jibx,”http://camel.apache.org/schema/spring“:json,”http://camel.apache.org/schema/spring“:protobuf,”http://camel.apache.org/schema/spring “:rss,”http://camel.apache.org/schema/spring“:secureXML,”http://camel.apache.org/schema/spring“:序列化,”http://camel.apache.org/schema/spring“:soapjaxb,”http://camel.apache.org/schema/spring“:字符串,”http://camel.apache.org/schema/spring “:syslog,”http://camel.apache.org/schema/spring“:tidyMarkup,”http://camel.apache.org/schema/spring“:xmlBeans,”http://camel.apache.org/schema/spring“:xmljson,”http://camel.apache.org/schema/spring“:xstream,”http://camel.apache.org/schema/spring “:pgp,”http://camel.apache.org/schema/spring“:zip}'是预料之中的。 - > [帮助1]


我的路线副本可以在下面找到:

<?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:camel="http://camel.apache.org/schema/spring"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
   http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

 <!-- load properties --> 

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations" value="file:backend.properties" /> 
</bean>
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent">
    <property name="location" value="file:backend.properties" /> 
</bean>

<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="tcp://0.0.0.0:61616?useLocalHost=true" /> 
</bean>

<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
    <property name="maxConnections" value="8" /> 
    <property name="maximumActive" value="500" /> 
    <property name="connectionFactory" ref="jmsConnectionFactory" /> 
</bean>

<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
    <property name="connectionFactory" ref="pooledConnectionFactory" /> 
    <property name="transacted" value="false" /> 
    <property name="concurrentConsumers" value="1" /> 
</bean>

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
    <property name="configuration" ref="jmsConfig" /> 
</bean>

<!-- Custom Loaded Beans -->

<bean id="TriggeredSendBean" class="com.backend.trigger.ClientTest"/>

 <!-- camel configuration --> 

<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
    <dataFormats>
        <json id="WelcomeEmail" library="Jackson" unmarshalTypeName="com.testObjects.EnrollResponse" />
     <dataFormats>

    <camel:route id="genericMessageHandler" streamCache="true">
    <from uri="activemq:topic:Test.Central" /> 
    <unmarshal ref="WelcomeEmail" /> 

    <to uri = "bean:TriggeredSendBean?method=setup" /> 
    <to uri = "bean:TriggeredSendBean?method=addSubscriberAllList" />
    <to uri = "bean:TriggeredSendBean?method=sendWelcomeEmail" />

    </camel:route>
</camel:camelContext>

1 个答案:

答案 0 :(得分:1)

一切看起来都不错。可能你错过了将camel-jackson依赖添加到你的pom。只是一个猜测!

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-jackson</artifactId>
        <version>${camel-version}</version>
    </dependency>