Apache camel 找不到以下对象的终结点:direct://DistributeOrderXML,请检查您的类路径是否包含所需的Camel组件jar

Apache camel 找不到以下对象的终结点:direct://DistributeOrderXML,请检查您的类路径是否包含所需的Camel组件jar,apache-camel,Apache Camel,DistributeOrderXML.java public static void main(String[] args) throws Exception{ ApplicationContext appContext = new ClassPathXmlApplicationContext("SpringRouteContext.xml"); CamelContext camelContext = SpringCamelContext.springCamelContext

DistributeOrderXML.java

public static void main(String[] args) throws Exception{

    ApplicationContext appContext = new ClassPathXmlApplicationContext("SpringRouteContext.xml");

    CamelContext camelContext = SpringCamelContext.springCamelContext(appContext, false);

    try {
        camelContext.start();
        ProducerTemplate orderProducerTemplate = camelContext.createProducerTemplate();
        InputStream orderInputStream = new FileInputStream(ClassLoader.getSystemClassLoader().getResource("order.xml").getFile());
        orderProducerTemplate.sendBody("direct:DistributeOrderXML", orderInputStream);
    } finally {
        camelContext.stop();
    }

}
SpringRouteContext.xml

<camelContext
    xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="direct:DistributeOrderXML" />
        <log message="Split by Distribute Order" />
        <split>
            <xpath>//order[@product = 'Oil']/items</xpath>
            <to uri="file:src/main/resources/order/" />
            <to uri="stream:out" />
        </split>
    </route>
</camelContext>

//订单[@product='Oil']/项
错误控制台

线程“main”org.apache.camel.FailedToCreateRouteException中出现异常:未能创建路由route1:route(route1)[从[direct:DistributeOrderXML]->[到[stream:…],因为找不到以下对象的终结点:direct://DistributeOrderXML,请检查您的类路径是否包含所需的Camel组件jar。 在org.apache.camel.reifier.routereiver.createRoute上(routereiver.java:123) 位于org.apache.camel.impl.DefaultCamelContext.StarTroutedDefinitions(DefaultCamelContext.java:353) 位于org.apache.camel.impl.DefaultCamelContext.StarTroutedDefinitions(DefaultCamelContext.java:327) 位于org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2598) 位于org.apache.camel.support.service.BaseService.init(BaseService.java:83) 位于org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2431) 位于org.apache.camel.support.service.BaseService.start(BaseService.java:111) 位于org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2448) 位于org.apache.camel.spring.SpringCamelContext.start(SpringCamelContext.java:121) 位于org.apache.camel.spring.CamelContextFactoryBean.start(CamelContextFactoryBean.java:373) 位于org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:420) 位于org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:94) 位于org.springframework.context.event.SimpleApplicationEventMulticast.doInvokeListener(SimpleApplicationEventMulticast.java:172) 位于org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) 位于org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) 位于org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403) 位于org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360) 位于org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:144) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:85) 在DistributeOrderXML.main(DistributeOrderXML.java:16)

原因:org.apache.camel.NoSuchEndpointException:找不到以下对象的终结点:direct://DistributeOrderXML,请检查您的类路径是否包含所需的Camel组件jar。 位于org.apache.camel.impl.engine.AbstractCamelContext.doGetEndpoint(AbstractCamelContext.java:880) 位于org.apache.camel.impl.engine.AbstractCamelContext.getEndpoint(AbstractCamelContext.java:764) 位于org.apache.camel.support.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:57) 位于org.apache.camel.reifier.AbstractReifier.resolveEndpoint(AbstractReifier.java:166) 在org.apache.camel.reifier.routereiver.doCreateRoute(routereiver.java:259) 在org.apache.camel.reifier.routereiver.createRoute上(routereiger.java:117)
…另外21个

您使用的是哪一个版本的Camel?如果它比Camel 3更晚,您需要在pom文件中导入
Camel direct
,因为直接组件已移出
Camel core
模块