Apache Camel:来自Bean的消费

时间:2016-06-20 11:54:49

标签: java apache-camel activemq

我有一个关于如何像这样调用bean的问题:

from("bean:MyBeanCall?method=beancallMethod(String1)")

Consumer必须是动态的,并从bean返回URI作为String。在bean内部我也想使用@Header Annotation来添加一些Header属性。

工作bean调用如下所示:

.bean(MyBeanCall.class,"beancall('String1')");

bean看起来像这样:

public static void beancall(String test, @Header("theHeader") String header, @Header("JMSCorrelationID") String correlationID){...}

但我需要在from()内调用以使用String1和Headers生成使用者。

1 个答案:

答案 0 :(得分:0)

来自文档http://camel.apache.org/bean.html

  

bean:端点不能定义为路由的输入;即你   不能从中消耗,你只能从一些入站消息路由   作为输出的bean端点的端点。所以考虑直接使用:   或queue:endpoint作为输入。

根据您的要求,您可以使用计时器,scheduleRoutingPolicy,SimpleScheduleRoutingPolicy或CronScheduleRoutingPolicy来触发路径。