问题标签 [apache-camel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Apache Camel Spring 配置错误 - 无法找到 XML 模式命名空间的 Spring NamespaceHandler [http://camel.apache.org/schema/spring]
我已经发布了我的 spring.xml 文件和我得到的堆栈跟踪的摘录。
抛出此异常:
有人可以帮忙解决问题吗?
apache-camel - 一些特殊的 Apache Camel 功能不可用
尝试使用这条路线: from("activemq:profiles").aggregate(header("cheese")).batchSize(30).bean(ProfilesQueueService, "saveContacts")
失败:
没有方法签名:org.apache.camel.model.RouteType.aggregate() 适用于参数类型:(org.apache.camel.builder.ValueBuilder) 值:[header(cheese)]
使用 apache camel 1.6.1 我检查了 RouteTypes.java。确实没有 aggregate() 方法。但是,这个文档说它必须工作: http ://camel.apache.org/aggregator.html
我做错了什么?
java - CamelContext.start() 不会阻塞
我想运行一个简单的Apache Camel示例,将文件从一个目录复制到另一个目录:
如果我使用 Apache Camel 2.0.0 运行此示例,程序会立即退出context.start();
并且什么也不做。如果我Thread.sleep(30000);
在启动后添加CamelContext
,后台线程会完成它们的工作,并且文件会从源目录复制到目标目录 30 秒。
但是,如果我使用 Apache Camel 1.6.2 运行相同的代码,该start()
方法会自动阻塞,我不需要让主线程进入睡眠状态来复制文件。我没有发现这种行为从 Camel 1.x 更改为 2.x 的提示。这真的是预期的行为吗?是否可以让 start() 方法阻止 Camel 2.0.0 中的执行?
谢谢
apache-camel - Apache Camel 2.x 和 Servicemix 3.x/4
我正在尝试使用 Servicemix 运行 Camel 2.1 SU。据我了解,无法使用 Servicemix 3 运行 Camel 2,我正在尝试使用 FUSE Servicemix 4.0.0.1 运行它
当我用 maven 开始我的项目时:mvn jbi:servicemix
我收到以下错误:
这意味着 mycamel-context.xml
已被 Camel 1.x 解析
有什么方法可以使用我提供的 SA/SU 版本的 Camel?是的,我知道我可以下载 Servicemix,删除现有的 Camel 1.x,然后将我的版本放在那里,但我不想要那些 hacks :( 我mvn jbi:servicemix
只需要使用命令运行它
您可以在http://github.com/splix/smx-currency-rates/tree/skeleton 查看该项目的所有来源(poms 等)
java - Apache Camel 部署
使用 Apache-Camel 和 ActiveMQ 构建系统的典型/首选方法是什么?如何实现高可用性?骆驼应该在什么容器中运行?
activemq - 仅当从属在故障转移中变为活动状态时,如何在从属 ActiveMQ 上启动骆驼路由?
在嵌入式 Camel 路由中,我有一个远程 JMS 队列的持久消费者。是否可以通过主从配置进行这种路由?现在看来,Camel 路由在从 ActiveMQ 启动时已经启动和激活,而不是在实际故障转移发生时。
现在它会导致从属实例接收发送给主实例的相同消息,这会导致重复消息在故障转移时到达队列。
我正在使用 ActiveMQ 5.3 和 Apache Camel 2.1。
messaging - Apache Camel 生产者和消费者
我很难理解这个概念。
我正在尝试实现一个端点,它在 tcp 端口上侦听专有格式的传入消息,然后将转换消息并让骆驼接管转发和路由。
我是否正确理解生产者负责将消息发送到该端点Endpoint
并Consumer
从该端点接收它们?
在研究接口时,我无法弄清楚这些对象之间的消息流,尤其是在消费者部分。Consumer
只定义start()
和stop()
方法...
在对骨架实现设置测试时,在端点和生产者对象上Camel
调用。之后它返回,没有对消费者或与之关联的处理器做任何事情。createProducer()
process()
有人能指出我正确的方向吗?
java - 没有 maven 的 Apache 骆驼
我很难找到文档/教程,或者只是获得一个依赖概述而不陷入一些螺旋式的 maven 噩梦。
我什至无法让示例工作,因为它是一个无休止的编译、运行、搜索、重复例程。任何人都可以为不屈服于专家压力的人推荐一些信息资源吗?:)
spring - 使用 Camel 2.1 和 Grails 1.2.1 - 类加载问题
我正在尝试在我的 Grails 应用程序中定义 Camel 上下文。
资源.groovy:
结果堆栈跟踪包含:
2010-02-03 13:24:42,209 [main] 错误 spring.GrailsRuntimeConfigurator - [RuntimeConfiguration] 无法从 resources.groovy org.codehaus.groovy.runtime.InvokerInvocationException 加载 bean:java.lang.NoClassDefFoundError:org/apache/camel /spi/管理策略
奇怪的是 ManagementStrategy 在 lib/camel-core-2.1.0.jar 中。我对 Spring 和 Camel 都不熟悉,因此欢迎提出任何建议。这可能是类加载器问题吗?
activemq - 带有 ActiveMQ 集群的 Apache Camel
我正在尝试确定集群 ServiceMix 3.3.1/Camel 2.1/AMQ 5.3 应用程序的选项。我正在执行大量消息处理,我需要集群以实现高可用性和水平可扩展性。
这基本上是我的应用程序所做的...HTTP->QUEUE->PROCESS->DATABASE->TOPIC
from("码头: http: //0.0.0.0/inbound ") .to("activemq:inboundQueue");
from("activemq:inboundQueue?maxConcurrentConsumers=50") .process(decode()) .process(transform()) .process(validate()) .process(saveToDatabase()) .to("activemq:topic:ouboundTopic" );
所以,我已经阅读了所有的 ServiceMix 和 AcitveMQ 集群页面,但仍然不确定该走哪条路。
我知道我可以为 HA 使用主/从设置,但这对可扩展性没有帮助。
我已经阅读了有关经纪人网络的信息,但不确定这如何适用。例如,如果我在集群中的多个节点上部署相同的 Camel 路由,它们将如何准确地“交互”?如果我将 HTTP 生产者指向一个节点(NodeA),哪些消息将被发送到 NodeB?队列/主题是否会在节点 A/B 之间共享...如果是这样,消息是拆分还是重复?此外,外部客户端如何准确订阅我的“outboundTopic”(并获取所有消息等)?
或者,我一直在想我应该在多个 ServiceMix 实例之间共享一个代理。这样会更清晰,因为只有一组队列/主题要管理,我可以通过添加更多实例来扩展。但是,现在我仅限于单个代理的可扩展性,我又回到了单点故障......
如果有人可以为我澄清权衡...我将不胜感激。