我在Spring Boot和camel-config.xml文件中使用Apache Camel。我创建了一个每秒运行一次的简单路由,并运行一个类方法:
<camelContext xmlns="http://camel.apache.org/schema/spring" id="myContext" trace="true" streamCache="true" useMDCLogging="true">
<route id="testCron">
<from uri="quartz2://TestCron?cron=0/1 * * * * ?" />
<to uri="bean:folder.MyClass?method=test" />
</route>
</camelContext>
package folder;
public class MyClass {
private static int count = 0;
public static void test(Exchange exchange) throws Exception {
count = count + 1;
System.out.println(count);
}
}
我读了很多试图解决这个问题的书。我听到的是吼声:
我没有运气的尝试:
我无法找到修改失火指令的方法,但我找到了一个解决方案。
我现在停止endpoint,而不是用context.stoproute(routeId)停止路由:
public static void stopRoute(Exchange exchange) throws Exception {
String beanId = (String) exchange.getIn().getHeader("beanId");
String routeId = (String) exchange.getIn().getHeader("routeId");
SpringCamelContext context = (SpringCamelContext) exchange.getContext().getRegistry().lookupByName(beanId);
for (Route route : context.getRoutes()) {
if (route.getId().equals(routeId)) {
route.getEndpoint().stop();
}
}
}
我试图使用Apache Camel Quartz2实现一个调度器,它每分钟执行一次路由,并按预期执行一些任务。我使用spring DSL实现与apache camel相关联的路由,如下所示: 根据日志,它不会记录为路由记录的消息,例如Direct:DomainsWithFTPUsers等等。请指导如何实现同样的目标。
遵循官方文件(https://camel.apache.org/manual/component-dsl.html#_using_component_dsl)我创建了以下代码: 但是中的告诉我: 并且中的特性不建议导入相应的库。 有人能给我指出正确的方向吗? 我必须理解的概念才能做到这一点吗?
我们需要的是直接的API来设置和使用集群消息队列。我们最初的计划是使用Camel在集群JMS或ActiveMQ队列上进行消费/生产。Kafka如何使这项任务变得更容易?在任何一种情况下,应用程序本身都将在WebLogic服务器上运行。 消息传递将是点对点类型,其中有多个相同服务的实例在运行,但根据负载平衡策略,只有一个实例应该处理消息并发出结果。消息队列也是群集的,因此服务实例或队列实例的失败都不
考虑到apache Camel,我有一个问题:是否可以通过代码来创建全局拦截器,例如AOP?拦截器应该跳过endpoint还是模仿endpoint? 提前致谢
我对骆驼生产商有很好的了解,但我不能对各种骆驼消费者保持清醒的头脑。特别是事件驱动消费者和轮询消费者,camel如何知道为这些消费者调用回调? 消费者的一般流量是多少?
我在projet中使用ApacheCamel,我想使用Product注释发送文件中的对象。首先,可能吗?有更好的办法吗? 其次,我尝试了这个代码片段: 当我调用发布方法时,生产者不是注入(null)。有人有主意吗?提前谢谢。