问题标签 [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.
java - 为什么标头值没有插入到 Spring DSL 中路由的 Apache Camel 的 `to` url 参数中?
我们有一个接受 kafka.KEY 的路由,并使用它作为 mqtt url 参数将数据发送到正确的主题。
在日志消息中,我正确地看到了 ${header.kafka.KEY},而在 mqtt 中,我从字面上理解了这个主题try${header.kafka.KEY}
这是什么原因,如何使标题在那里使用?
oracle - 使用 Spring DSL 在 apache camel 中调用具有用户定义表类型的 Oracle 存储过程
我有像这样的存储过程
tab_party_extract 对象的定义是
我有数据源并创建了类似的arraylist
有什么方法可以像我们在 mulesoft 中那样使用 spring DSL 在 apache camel 中使用这些用户定义的类型调用 oracle 存储过程(https://docs.mulesoft.com/db-connector/1.10/database-connector-udt-stored-程序)
json - 没有使用方案找到组件:Apache camel 中的 json-validator
JBossFuse:karaf@root> 线程“SpringOsgiExtenderThread-46”中的异常 org.apache.camel.RuntimeCamelException:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由 route23:>>> DoTry[[To[json-validator:jsonschema .json], DoCatch[ null -> []]]] <<< in route: Route(route23)[[From[file:///D:/jsonfiles/file?noop=true]] -... 因为无法解析端点:json-validator://jsonschema.json,原因是:没有找到带有方案的组件:org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1363)的 json-validator at org.apache org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:303) 在 org.springframework.context.event.SimpleApplicationEventMulticaster 的 .camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:120)。org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334) 的 multicastEvent(SimpleApplicationEventMulticaster.java:96) org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:948) 的 org.springframework .osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235) 在 org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358) 在 org.springframework.osgi.util.internal。 PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) 在 org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320) 在 org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132) at java.lang.Thread.run(Thread.java:748) 原因:org.apache.camel.FailedToCreateRouteException:无法在以下位置创建路由 route23:>>> DoTry[[To[json-validator:jsonschema.json],DoCatch[ null -> []]]] <<< 在路由中:Route(route23)[[From[file: ///D:/jsonfiles/file?noop=true]] -... 因为无法解析端点:json-validator://jsonschema.json 由于:没有找到具有方案的组件:org.json-validator。 org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:177) 在 org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext. java:778) 在组织。apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1955) 在 org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1705) 在 org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext. java:1579) 在 org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) 在 org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1547) 在 org.apache.camel.spring .SpringCamelContext.maybeStart(SpringCamelContext.java:221) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:118) ... 10 更多原因:org.apache.camel.ResolveEndpointFailedException:无法解析端点:json-validator://jsonschema.json 由于:没有找到带有方案的组件:org.apache.camel.impl.DefaultCamelContext 的 json-validator。getEndpoint(DefaultCamelContext.java:537) at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71) at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:192) at org.apache .camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:106) 在 org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112) 在 org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java :61) 在 org.apache.camel.model.ProcessorDefinition.createProcessor(ProcessorDefinition.java:460) 在 org.apache.camel.model 的 org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:55)。 ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:429) 在 org.apache.camel.model.TryDefinition.createProcessor(TryDefinition.java:73) 在 org.apache.camel.model。ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500) 在 org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:213) 在 org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:909) .. . 19 更多
java - 如何处理没有数据进入路由以在 Apache Camel 中重新启动它?
我们有不稳定的数据提供者,如果我们重新连接数据正确,他们会在某个时刻停止在 websocket/长轮询上向我们发送数据,而不会中断连接或向我们发送错误信号。我们无法确定我们应该重新启动路由的时刻,因为客户端组件中没有处理程序丢失数据。
如果它不处理任何消息,我们能否处理我们为每个路由获取的 Prometheus 指标以重新启动路由?或者还有什么可以处理或跟踪以使路线可重新启动?此外,我们不想将它应用于所有的路由,而只是特定的路由,所以将它作为一个 bean 保留在 XML 中会很棒,我们将我们的路由保留为 XML 配置),以定义哪个跟踪它的零值,哪个不是
java - 如何在 Spring DSL 中重新启动骆驼路线,但因某些特定异常而失败?
我们有一条复杂的路线,包括身份验证、数据抓取和其他 3 条路线。我们不想处理由于网络连接引起的异常,而是让它重新启动。目前我不知道如何在 Spring DSL 中完成它:
使用为 Spring DSL 提供的示例,不可能指向任何触发异常的 RouteController 操作。有没有办法在获取特定异常时让路由重新启动/重新初始化?而不是设置来自路由的 http 请求来触发 http 控制器,而是通过触发 Camel 上下文来重新启动路由。
apache-camel - 从命令行运行 Apache Camel 3.14.0 的正确类是什么?
我将以下 pom.xml 设置为使用 Camel 3.14.0:
然后我在 Windows 中有这个命令行来收集依赖项:
当我运行它时,我会在目标文件夹(../build/target/dependency)中获得所有 jar。
然后我得到其他run.bat文件,如下所示:
但是当我运行它时,我得到一个错误,说它找不到主类。该类是以前用例(Camel 2.10.6)中使用的类,它运行良好。您能否建议在这里参考什么是正确的课程?
编辑 1:我在文档中发现 Main 现在在 org.apache.camel.main 中,所以我在 run.bat 中配置了它,它似乎正在运行。但是现在它显示了以下内容,奇怪的是它停止从 context.xml 中配置的路径中选择文件。有任何想法吗?
编辑 2:我查看了错误,发现我需要包含依赖项
它似乎仍然有效(关于 slf4 的消息消失了)但仍然不会从路径中选择文件。
现在,我决定迁移到最后一个 LTS 版本的原因是因为我需要使用一个组件属性,该组件属性仅在较新版本的 Camel 中可用,而不是我一直在使用的版本。所以我决定试一试最新版本,但现在我遇到了错误,说它找不到课程。
我过去在某种程度上使用过 Camel,但只是基于其他人提供的示例,从来没有从头开始,所以我根本不是专家,不幸的是我需要尽快解决这个问题。我想最简单的方法是使用 java bean,但我不是 java 开发人员,所以我认为使用 Spring XML DSL 可能没问题。我正在使用 java 1.8.0_92。
Camel 文档似乎没有像 spring xml 那样提供如此多的细节,所以任何帮助都将不胜感激。
csv - Load CSV to database using Apache Camel Spring XML (CSV to SQL components)
I want to do a simple file polling that takes in a CSV file, unmarshals it and loads specific fields into database. I guess that should be a pretty common scenario but I need to use Spring XML instead of creating a java processor. To my surprise I found hard to find any examples on that looking all around the internet. Probably I just didn't look in the right places but for what's worth, I'm sharing my question and my own answer in case someone else finds it useful.
Here's what I'm trying to achieve:
- Automatically pick a CSV file from a folder.
- Load specific fields from CSV into table
CSV looks like this
Which needs to be saved into table (only ID and FULLNAME fields):
PERSON
ID | NAME |
---|---|
1 | PERSON1 |
2 | PERSON2 |
3 | PERSON3 |
4 | PERSON4 |
I'm using Camel 3.14.0.
junit - 如何在 junit 测试用例的骆驼路线中跳过/模拟wireTap?
我必须通过跳过wireTap来为骆驼路线编写junit测试用例。还是有可能模拟窃听器?如果是,那怎么办?
谢谢, 斯里坎特
java - 如何在 Apache 的 Camel Spring DSL (XML) 路由中以简单语言调用 Java 方法中的正则表达式?
setHeader
我的路线中有一个标签:
我希望,它将拆分 timestampPart2 标头内的字符串并获取第一个元素。
事实上,它只是忽略了分裂:
那么我应该如何在 Spring DSL 中实现正则表达式转义呢?如果由于某种原因不可能,如何解决?
java - 是否可以将标头值作为参数调用应用于简单解释器中的同一对象的方法,Spring DSL for Apache Camel?
是否可以在 Apache Camel 的 Spring DSL 中调用类似的东西
或者像这样
对于第二次尝试,它标识.length() - 2
为单个方法名称调用