问题标签 [akka-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.
scala - Apache Camel File 进程导致 TypeConversion 错误
我正在使用 akka-camel 来处理文件。我最初的测试运行良好,但是当我开始传入实际的 xml 文件时,它正在因类型转换而呕吐。
这是我的消费者(非常简单,但在 msg.bodyAs[String]
错误:
我想知道它是否与xml的实际内容有关。它们一点也不大(大约 70kb)。我怀疑我能否提供 XML 本身的实际示例。只是对为什么这么小并被转换为字符串的东西有问题感到困惑。其他虚拟示例 xml 文件运行良好。
编辑: 我的建议之一是启用 StreamCache,我这样做了。但是,它似乎仍然无法正常工作。正如 Ankush 评论的那样,这个错误令人困惑。我不确定它实际上是流问题还是转换问题。
http://camel.apache.org/stream-caching.html
添加了以下内容
apache-camel - Akka Camel RabbitMQ 每次都创建新连接
我正在使用 akka-camel 订阅 rabbitmq 交换。将创建几个这样的演员......每个请求一个routingKey
。交换和队列不会改变。每次routingKey
请求新的演员时,我都会创建一个新的演员,而不是创建一个新的频道,而是创建一个全新的连接,这是不可取的。我不太明白为什么每次创建消费者角色时都会创建一个新连接。
这是演员代码:
我正在创建这样的演员:
更新
这正是我需要完成的:
我正在编写一个 TCP/IP 服务器,当接受客户端连接时,它需要从后端架构中的其他组件接收消息。为此,我想使用 RabbitMQ。成功连接到我的服务器后,客户端将发送一个 ID,该 ID 将用作路由键的一部分(例如command.<id>
)。RabbitMQ 连接和队列是在第一个客户端连接时创建的,并且路由键类似于command.first_id
. 当下一个客户端连接时,我想将 command.second_d
路由键添加到已接受的路由键列表中,而不创建与 RabbitMQ 的新连接。
apache-camel - Akka Camel 多个消费者
我正在使用 akka + camel 来消费来自 activemq 的消息,并且我试图弄清楚如何在不重复消息的情况下将这个消费者部署在多台机器上。在这种情况下,我正在使用来自某个主题的消息,并且 activemq 应该知道我在各种机器上都有一个 akka 系统,而不是各种单个独立的系统。
我尝试使用 akka 集群来实现这一点,但是该示例使用订阅后端集群的前端并没有帮助,因为我的“后端”参与者本身就是 activemq 消费者,我无法告诉 activemq 订阅我的集群。
有任何想法吗?
java - 负载下的嵌入式 Jetty 超时
我有一个带有骆驼码头消费者的 akka (Java) 应用程序。在某个最小负载(大约 10 TPS)下,我们的客户端开始看到 HTTP 503 错误。我试图在我们的实验室中重现该问题,但码头似乎无法处理重叠的 HTTP 请求。以下是 apache bench (ab) 的输出:
ab 使用一个线程发送 10 个请求(即一次一个请求)
ab 使用两个线程发送 10 个请求(最多同时发送 2 个请求):
我不相信码头有这么糟糕。希望这只是一个配置问题。这是我的骆驼消费者 URI 的设置:
我正在使用 akka 2.3.12 和骆驼码头 2.15.2
apache-camel - How to use a header value inside an XML attribute using Apache Camel?
I have the following in a camel route, but it doesn't seem to get the header value. Is this the right way to do it?
scala - Akka Camel 和 ActiveMQ:如何设置交付模式
据我所知,ActiveMQPERSISTENT
默认将交付模式设置为......那么NON_PERSISTENT
在使用 Akka-Camel 时如何为特定主题设置交付模式?下面是我的示例代码:
apache-camel - Apache camel:连接到 ZeroMQ 服务器
我正在尝试ZeroMQ
使用 apache 连接到服务器camel
。我正在使用项目camel-zeromq
提供的组件camel-extra
,但似乎这需要在ZeroMQ
系统上安装本机库。
有人知道使用该camel-zeromq
组件的方式,即无需安装这些本机库吗?
我想这几乎是不可能的。
如果是这样的话:
是否可以以某种方式将这些库添加到项目中以避免将它们直接安装在系统上?
我看到该组件的另一个缺点camel
是它似乎没有经常更新。我已经使用jeromq
库将客户端连接到服务器。有人知道创建使用这些库的骆驼路线的方法吗?
如果有人能给我一些建议,我将不胜感激。我有点卡住了,试图找出解决我面临的这个问题的最佳方法。
scala - Camel、Akka、JMS 和延迟消息确认:我可以向代理确认之前处理的消息吗?
我正在使用 Akka(最新的稳定版本)akka-camel
和 JMS(出于本次对话的目的,假设它是 ActiveMQ,但理想情况下,解决方案应该是通用的)。
用例
我有以下用例。在队列中Q
,我收到如下消息:
我的最终目标是将它们配对成(A1,A2)
, (B1,B2)
, 等等; 尽管存在重复消息和未传递消息等复杂情况,但复杂之处在于我必须确保在匹配和处理整对消息之前,代理将保留所有未确认的消息。
例子
在4
我收到并处理了 4 条消息,并成功处理了 pair (C1, C2)
,但是我仍然无法向代理确认任何内容,因为A1
并且B1
仍然不匹配和待处理,并且在 JMS中确认C2
意味着确认所有消息直到C2
. 事实上,我可以发回的第一个确认是在 time 5
,whenA2
收到:此时我可以确认A1
(并且只有A1
, asB1
仍然未决)。
问题
现在,我似乎无法弄清楚如何通过. 我一直在网上阅读,虽然我可以找到有关如何手动确认消息的解释(文档和示例),但没有任何内容显示如何向代理确认先前处理的消息。akka-camel
在这种情况下,Ack
is anobject
并且它的语义实际上只是:我确认当前消息,而我需要类似Message X is now acknowledge之类的东西,其中X是一些先前的消息,但不一定是当前消息。
这个用例是否支持或支持,akka-camel
或者我应该自己构建它?
谢谢
scala - 阿卡斯卡拉骆驼。异常处理
我有akka camel-ftp
消费者。我想处理代码中的所有异常(例如身份验证异常,或无法读取 ftp 上的文件)。我只能在日志中看到堆栈跟踪,无法处理。也许最好使用scalaz-camel
.
此外,我想知道所有文件何时被处理并且 Actor 空闲直到下一次读取 ftp 文件夹
apache-camel - Akka Camel:消息路由到错误的 SEDA 路由
我的简化Akka Camel
应用程序设置如下:
我看到的是,Apple
事件间歇性地被 . 所消耗OrangeConsumer
,反之亦然。
在下面运行这个示例(可能几次)会重新创建它。
我不明白这只是间歇性地发生。我究竟做错了什么?