问题标签 [camel-spring-dsl]

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.

0 投票
1 回答
35 浏览

java - 如何为 Apache Camel 路由的 Split,org.apache.camel.spi.ThreadPoolProfile 与 java.util.concurrent.ExecutorService 准备一个 Executor 服务

在 Apache Camel 的多线程指南中,有一个关于 ThreadPoolProfile 使用作为 executorServiceRef 参数的示例(https://camel.apache.org/manual/threading-model.html):

我期待使用拆分的路由采用相同的方法,因为它也具有 executorServiceRef 属性。

所以,我准备在注册表中注册 bean:

然后我在拆分中以相同的方式引用执行程序服务:

但令人惊讶的是,它需要另一种 Object 类型:

那么,我应该作为执行程序服务传递什么,以及如果这里不接受它如何从 ThreadPoolProfile 生成它。没有任何自定义线程池配置文件的示例split

0 投票
1 回答
17 浏览

java - 在带有 Spring Boot 的 Apache Camel 中,如何将多个外部回调(使用“from().to()”)加入单个响应中?

解决了!向下滚动到解决方案。

我有实体 Person,在表 A 上有一些基本数据,在表 B、C、D 等(例如地址)上有更具体的数据。

PersonResponseDTO(总结):

AddressResponseDTO(总结):

这些数据来自一个名为 using from("direct:getPersonById").to(getPersonUrl)and from("direct:getAddressByPersonId").to(getAddressUrl)(summarized) 的外部 API。

我创建了第三个名为 AggregatedPersonResponseDTO 的对象:

有没有一种简单的方法可以在一个请求中加入两个响应,返回一个 AggregatedPersonResponseDTO 类型的对象,只使用 Camel API?我想使用两个响应对象来构建第三个。而且我将来会有两个以上“连接”的用例。

解决方案说明

  1. 不需要将 streamCaching 设置为 true 或 false。

  2. 不需要设置 HTTP_PATH。

  3. 骆驼路线中的代码:

双花括号之间的内容从 application.yml 或 application.properties 中读取。

  1. 整个 PersonAggregationStrategy 类:
  1. 我还必须为聚合的结果对象实现 TypeConverters 接口:
  1. 我不知道它是否适用于两个以上的回调。也许它需要 AggregationStrategy 的其他实现。有一天我会测试这个用例。
0 投票
0 回答
22 浏览

apache-camel - 在类路径中找不到 Camel 调试器。请将 camel-debug 或 camel-debug-starter JAR 添加到您的项目依赖项中

我正在使用带有 Springboot 的 Apache Camel

为了调试骆驼路线,我正在添加

添加camel-debug依赖后,随机错误发生在

org.apache.camel.spi.DebuggerFactory

最常见的是: