apache-camel 相关问题

Apache Camel是一个功能强大的开源集成框架,基于已知的企业集成模式和强大的Bean集成

Apache Camel:从配置文件和交换属性中读取值

我正在实现一个动态toD,其中我想在运行时使用动态值将数据发送到rabbit MQ。 值:${exchangeProperty.erpFlow} = user.create 方法 : 我正在实现一个动态toD,其中我想在运行时使用动态值将数据发送到rabbit MQ。 价值:${exchangeProperty.erpFlow} = user.create 方法: <toD uri="rabbitmq:${properties:rabbit.uri.${exchangeProperty.erpFlow}}"/> 配置文件如下: rabbit: uri: user: create: "${rabbit.exchanges.customersDead}?${rabbit.exchangeArgs}&${rabbit.queueName}=org.user.create&concurrentConsumers=${rabbit.dlqConcurrentConsumers}&skipQueueDeclare=false" 在运行时,我期望动态 toD 看起来像, <toD uri="rabbitmq:MyExchange?exchangeType=topic&bridgeEndpoint=true&queue=org.user.create&concurrentConsumers=2&skipQueueDeclare=false"/> 期望:在运行时,应该从配置文件和交换属性中读取值。 我看到错误: Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: rabbitmq:{{rabbit.uri.${exchangeProperty.erpFlow}}} due to: Property with key [rabbit.uri.${exchangeProperty.erpFlow] not found in properties from text: rabbitmq:{{rabbit.uri.${exchangeProperty.erpFlow}}} 我相信这里的问题是由于 exchangeProperty 字段造成的,因为属性占位符是在运行时实例化的。交换属性仅在实例化骆驼交换时才存在 - 这意味着只有在路由生产者中发送消息时,该属性才会包含值。 这里是一些关于如果您不使用其他框架如何将properties加载到camel的信息。 这里最好的解决方案是将 exchangeProperty.erpFlow 替换为环境变量,或者也将其放入配置属性文件中。

回答 1 投票 0

在 Apache Camel 路由中定义非空映射变量

我有一种情况,我想在Camel路由中定义一个非空的Map变量并将值放入其中。但我找不到办法做到这一点。 我尝试通过将 resultType 设置为“java.util.

回答 2 投票 0

在 JSON 和 POJO 之间使用 REST 时收到“没有类型转换器可用于从类型进行转换”

我正在定义以下端点,以便在正文中的 DTO 处接受简单的帖子。似乎仅在使用 un/marshall 语句时才有效。许多示例不使用 un/marshal 语句。 这些是……

回答 1 投票 0

使用Camel的spring-rabbitmq组件时如何自动声明交换?

我正在尝试从Camel 3.x迁移到Camel 4.x版本,所以我需要从rabbitmq组件迁移到替换的一个spring-rabbitmq。对于rabbitmq组件,我使用的是声明选项...

回答 2 投票 0

使用类型选择器时,Camel 不会从 ActiveMQ JMS 队列中消费

我正在使用camel-quarkus-activemq:3.7.0 lib和ActiveMQ:5.13.0客户端。我在没有选择器的情况下消费没有任何问题,但使用选择器它就不会消费。没有错误。我用过例子...

回答 1 投票 0

提取本体失败..禁类

我正在使用 Camel 和 ActiveMQ 尝试在队列之间的虚拟对象周围弹跳。 (不,在真实情况下不会这样做..) 但是,保安不允许我这样做

回答 0 投票 0

Camel Spring Boot Prometheus - 禁用直接组件指标

我正在尝试从 Camel Spring Boot 应用程序公开 /management/prometheus 端点。这样做时,我观察到我触发到其余端点的所有请求都被推送到

回答 1 投票 0

无法设置 Apache Camel SMPP 以使用 GSM-7 从 SMSC 节点接收消息

这个问题是关于 Apache Camel SMPP 和 GSM-7 使用camel-smpp-starter 4.2.0 我们的 SMSC 根据标头使用 SMSC 默认字母表向我们的应用程序发送短信。这是根据...

回答 1 投票 0

直接在camel路由中归档,无需文件消费者

有没有办法让骆驼删除不是来自文件使用者的文件? 更准确地说:在我的路线中,我收集了一个文件列表(不是来自文件组件),然后对其进行处理。啊...

回答 1 投票 0

在 Camel 2.12 中禁用 Camel 证书验证

我需要在 Camel 2.12 中暂时禁用证书验证。我正在引用一个测试 Web 服务,该服务当前提供无效证书并获得以下信息

回答 3 投票 0

Flaky Consumer 无法在 Camel 和 Spring 中消费消息(~ 1%)

我正在使用 ProducerTemplate 和 ConsumerTemplate 来处理简单路由测试中的消息发送和接收。我还使用带有 activeMQ 图像的 testcontainer 。下面有一个设置: @

回答 1 投票 0

Apache Camel 文件上传目录变得重复

最终字符串 sftpEndpoint = "sftp://{{sftp.write.host}}" + ":" + "{{sftp.write.port}}" +“{{sftp.write.folder}}” +“?使用...

回答 1 投票 0

在运行时加载 apache 骆驼路由

在项目中,我一直在运行时动态加载 Apache Camel 路由。 当前环境包括 Spring 2.7.4、Apache Camel 3.18.0 和 JDK 17 private void fromFile(最终路径文件...

回答 2 投票 0

无法使用 Camel JacksonXML 解组 XML

我正在尝试简单地解组 XML 文件,如下所示: ...

回答 2 投票 0

Camel 4 分段文件上传

我使用 Spring boot 和 apache Camel 创建了一个应用程序。当我使用 Camel 3.x 时,我使用这个答案来发布文件 multipart/form-data 文件。 但是自从我升级到 Camel 4.0.0 后就没有了...

回答 1 投票 0

Apache Camel (un)marshal 与“gzipDeflater”如何工作?

在此代码片段中,我想使用 Camel 解压缩 gzip 正文。根据Camel文档,除了camel-core之外不需要其他依赖项。 公共静态无效主(最终字符串[...

回答 1 投票 0

停止并从骆驼上下文中删除路线

我有多个线程在骆驼上下文中运行。每个线程都在积累数据。我无法在骆驼环境中停止路线。这是我的代码: 公共无效stopThread(字符串routeId,CamelContext

回答 1 投票 0

在 Camel 4.0 中从 XML 创建路由

在准备发布 Camel 4.0 时,我正在尝试找到一种方法来迁移我的方法,这些方法从 XML 文件创建 Route 或 RouteDefinition 对象,其路由如下所示: 在准备发布 Camel 4.0 时,我正在尝试找到一种方法来迁移我的方法,这些方法从 XML 文件创建 Route 或 RouteDefinition 对象,其路由如下所示: <routes xmlns="http://camel.apache.org/schema/spring" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring-3.20.2.xsd"> <route id=....> ...... </route> </routes> 这样它们就可以加载到 CamelContext 中 在 Camel 3.20 中,我将它们加载到 CamelContext 中,就像 String xmlContent = myBean.getXMLFileContent();//imagine this string's content is as described above //I am open to converting this string into a java.io.File and new methodologies that the Camel team is leaning towards try (InputStream is = new ByteArrayInputStream(xmlContent.getBytes())) { XMLRoutesDefinitionLoader loader = extendedCamelContext.getXMLRoutesDefinitionLoader(); RoutesDefinition routesDefinition = (RoutesDefinition) loader.loadRoutesDefinition(camelContext, is); modelCamelContext.addRouteDefinitions(routesDefinition.getRoutes()); } 通过导入 <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-xml-io</artifactId> <version>${camel.version}</version> </dependency> 我遇到了同样的问题,对我来说,通过添加整个 Spring Boot 启动依赖项解决了这个问题。好像有些课程改变了。 <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-xml-starter</artifactId> </dependency> 你能尝试一下吗?

回答 1 投票 0

有没有办法只追加文件的更改数据而不是使用 Apache Camel 覆盖文件?

我是 Apache Camel 的新手,我尝试在 sftp 和本地之间进行 csv 文件同步: 公共类 MyRouteBuilder 扩展 RouteBuilder { 公共无效配置(){ 来自(“sftp://user@ad...

回答 1 投票 0

camel:如何异步发送到端点

如何在不等待端点的路由被处理的情况下向端点发送消息(也就是说,我的路由应该只发送消息并完成)?

回答 7 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.