端点上没有可用的使用者:端点[direct:// LookUpRoute]

问题描述 投票:0回答:1

我是骆驼新手。我试图将交换从Java方法发送到路由,但它给我“原因:org.apache.camel.component.direct.DirectConsumerNotAvailableException:端点上没有可用的使用者”错误。我想了解这个错误到底是什么,我们什么时候得到这个?

@EndpointInject(uri = "direct:reportRoute")
private ProducerTemplate templatereportRoute;


public void saveDataFromExchange(Map<String, Object> DataMap){

    List<Map<String, Object>> paramList = new ArrayList<Map<String, Object>>();

    List<Map<String, Object>> rows = templatereportRoute.requestBody("direct:reportReport", DataMap, List.class);

<from uri="direct:reportRoute"/>

 <log message="  - ${body}"  loggingLevel="INFO"/>    

<setProperty propertyName="DataMap">
  <simple>${body}</simple>
</setProperty>

apache apache-camel blueprint-osgi spring-camel
1个回答
0
投票
您遇到的错误意味着您正在发送到骆驼上下文中不存在的直接终结点。

由于您发布了定义有关路由的XML片段,所以存在两个可能的问题(如@ claus-ibsen所评论):

  • 您发布的XML未使用。您正在启动一个骆驼上下文,但它不使用您的XML代码。您在使用Spring吗?然后您可以define your Camel routes in Spring XML
  • 您的设置很好,但是您的Java代码
  • 过早发送消息
  • ,即在直接端点启动并运行之前。您可以将这段代码放在Test类中,并在启动和准备Camel上下文之后运行它。
© www.soinside.com 2019 - 2024. All rights reserved.