我正在尝试从远程服务器拉取文件,如果无法连接到远程服务器,则希望实现以下场景:
要重试“N”次
如果重试后连接未成功,则希望停止轮询并向使用者抛出异常,说明“服务器未响应”
在您的路由中,您需要一个连接到远程服务器的bean。如果无法连接,则应通过异常进行连接
然后在路由中添加一个OneException处理程序
OneException(CannotConnectException.class)
.最大可再交付量(3)
.processRef(“剂量测量”)
“doSomething”流程必须
我们是否可以从CamlTestSupport类中注册camelcontext的托管路由、托管处理器和其他ManagedBeans。这样我们就可以查看camelTestSupport的camelcontext的路由和处理器的JMX统计信息。如果我们可以注册,如何注册?是覆盖useJmx方法并返回true
然后,当启用jmx时,Camel将在测试期间登记所有这些MBean
在使用blueprint进行测试时,我们在这里启用了一些单元测试,您可以查看
我已经看到Jetty现在支持HTTP/2。花了一些时间进行研究,但看不到在Apache Camel Jetty中实现这一点的方法。你知道Camel是否需要实现这一点吗?或者可以使用他们的RestConfigurationDefinition进行配置
提前谢谢。恐怕您需要做一些额外的工作来启用HTTP/2功能。Camel Jetty组件有两个部分,一个是消费者Jetty服务器,另一个是生产者Jetty客户端。如果要启用HTTP/2功能,需要确保通过修改一些代码加载HTTP模块。我不认为通过使用Re
我有两个驼峰路由,它们处理位于sFTP服务器上的文件。路由所在的应用程序中有多个节点在运行,因此我添加了文件锁定,以确保只有一个节点处理每个文件
路由URI如下所示(为了可读性将其拆分为多行):
我不时会收到类似文件争用的警告消息:
Error processing file RemoteFile[<file>] due to Cannot retrieve file: <file>. Caused by:
[org.apache.camel.component.file
我正在开发一个应用程序,它将以异步方式向多个服务提供商发送请求,整理响应并将结果显示给用户
我打算创建一个组件来处理每个服务提供商。组件将是松散耦合的,因此添加或删除服务提供者应该非常容易
该组件将
处理从Web层收到的请求,并将其转换为服务提供商要求的格式
将请求发送给服务提供商
处理从服务提供商收到的响应,将其转换为应用程序所需的格式
我们可以在这里使用Apache Service Mix吗?它是否足够快,可以在不到5秒内处理请求-响应周期(假设服务提供商在不到一秒钟内发送响应)
或
我们
我希望使用CAMEL实现以下类型的编排:
客户端向CAMEL发送HTTP POST请求
CAMEL将HTTP POST请求发送到外部端点(服务器)
外部服务器回复200 OK
CAMEL将HTTP GET请求发送到外部端点(服务器)
外部服务器应答
在步骤5之后,我想检查回复:如果回复是200 OK且状态=INPROGRESS(可以从接收到的XML正文中检索此状态),我想将HTTP GET重新传输到外部端点,直到状态与INPROGRESS不同
我想使用retryWhile语句,但我不确定如何在路
我使用mina组件创建了一个非常简单的驼峰路线。此路由实际上使用自定义编解码器,并打包为osgi包。每当我将其部署到servicemix apache-servicemix-4.4.1-fuse-03-06时,该捆绑包都不会处于活动状态,而是已安装。当然,当我尝试启动它时,我在控制台执行命令时收到一个错误:java.lang.NullPointerException,但日志中没有任何内容
有人能帮我做这件事吗我不知道发生了什么。。。这是包装问题吗?我想这与我的编解码器加载有关,但我现在被困在这里
我正在与camel合作,并尝试将smooks转换添加到我的路线中:
public void configure() throws Exception {
from("file:src/main/resources/smookFromCsvToXml/from?fileName=test.jtl")
.log("Before SmooksComponent\n${body}")
.to("smooks://smooks-config.xml")
我正在使用ApacheCamel实现DispatcherEIP。队列中有数千条消息需要在不同的URL上传递。每封邮件都有自己的传递URL和传递协议(ftp、电子邮件、http等)
实施方式:
启动单个camel上下文时,JMX和
loadStatisticsEnabled在ManagementStrategy上设置为false。作为
在jira问题中提到,在2.11.0版本中解决,用于禁用
后台管理线程创建
对于每个正在构造路由的消息,该消息都是
被推到运送路线
消息处理后,路由将关闭并从中删
我们使用以下配置将文件从单个源发送到多个远程目标
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring"
xmln
我使用amq+camel+smpp与SMSC合作。我使用SMPP作为驼峰组件,并在路由中使用这些端点。我想监控SMPP连接绑定,将每个SMSC绑定和解除绑定记录在activemq.log以外的单独文件中
请指导我处理上述事件场景。您是否尝试配置log4j-是!我使用log4j记录日志,并在activemq.log文件中获取绑定发送接收日志。但我想在camel.xml路由配置文件中配置一些内容,以便可以在activemq.log之外的单独文件中记录绑定响应。
我正在调查骆驼是否能满足以下要求。要求是:传入队列上的消息顺序应与传出队列上的消息顺序相匹配
我认为问题可以归结为Camel如何将消息从传入队列转发到传出队列的内部问题
在这个简单的示例中,路线如下所示:
from("incomingQueue").to("outgoingQueue);
incomingQueue有4条消息要开始(按此顺序到达):消息1、消息2、消息3、消息4
是否有保证或选项告知Camel以保持原始接收顺序的方式转发消息?因此,如果侦听器正在侦听传出队列,它将接收消息1、消
我刚开始使用ApacheCamel,我对异步http客户机(AHC)看似违反直觉的默认行为感到好奇。在使用来自ActiveMQ的消息时,我无法让它以非阻塞方式运行
我的路线如下所示:
@组件
公共级广播公司扩展RouteBuilder{
@凌驾
public void configure()引发异常{
errorHandler(死信通道(“activemq:failed.messages”);
来自(“activemq:outbound.messages”)
.setExchangePatter
我使用的是ApacheCamel 2.15.1版本。在本文中,我将servlet组件用于RESTDSL。我的简单路线如下所示
from(rest:get:CustomerDetails.json)
.至(”http://localhost:8080/customer/getCustomerDetails?bridgeEndpoint=true");
我需要为响应设置缓存控制和Pragma头
from(rest:get:CustomerDetails.json)
.至(”http://localh
我有一个项目SpringMVC,带有camel,没有任何xml配置文件
我的问题是有两个上下文:Spring根WebApplicationContext和Spring FrameworkServlet“dispatcher”,在每个上下文(camel-1和camel-2)上创建一个camel上下文,路由相同。因此,如果我停止或挂起一条路由,则她只在一个上下文(WebApplicationContext)上停止或挂起。我只想要一次上下文骆驼。我该怎么办
ApplicationConfigurati
我正在尝试使用camel来使用来自amazonsqs的消息
<from uri="aws-sqs://{{aws.sqs.queue}}?amazonSQSClient=#sqsClient&delay=10000"/>
<to uri="bean:sqsQueueListener?method=consumeMessage(${body})"/>
每10秒我就会收到一条消息,关于我的应用程序中AmazonSQS客户端的实例化,因为它正试图从队列中读取。
我正在尝试将JSON响应(采用InputStreamCache格式)转换为Apache Camel中的POJO,如下所示:
<convertBodyTo type="com.temp.MyPojo"/>
是否有任何方法可以使用convertBodyTo组件直接将StreamCache负载转换为POJO?我不想写一个显式转换器。
注意:我知道unmarshal组件。我想确认是否可以使用convertBodyTo实现相同的功能 您需要添加camel-jackson作为依赖项,因为如果
我想做一个驼峰路由,客户端调用同步SOAP服务。路由将请求转换为异步消息,该消息被发送到消息队列MQ2。路由等待,直到它自己的消息队列MQ1中存在相关的回复消息。最后,路由将应答发送到客户端
我该怎么办
在路由处理同步WS调用中包括异步请求/应答阶段
使用不同的消息队列实例实现这一点,保留传入消息和原始请求之间的相关性
尽可能优化性能,以便在等待时释放资源
确保我能够运行每个服务+MQ捆绑包的多个实例
基本上我有三个服务链,每个服务都有自己的单向消息队列捆绑在服务中。链中的最后一个服务必须将最终
比如说,我有
from("direct:start").filter("...")
如何过滤来自smtp等端点的邮件?有没有办法检查上一个端点的类型
编辑:根据vikingsteve的建议,我以以下方式实现了代码:
from("direct:source")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Ex
我正在调用一个ReST服务(GET),我没有一个API来轻松地解组响应
我想知道我的最佳选择可能是消费的反应
我看到的一个选项是基于来自
web服务调用,然后从该模式生成代码以提供
我需要的响应对象
我看到的另一个选择是简单地使用XPath从
驼峰响应…我只需要响应中的几个字段,我是合理的
红颜知己:其余签名是稳定的
假设我使用XPath路径,我将如何访问响应对象?什么时候
我运行了一个测试,可以在Exchange中看到所需的XML响应
对象(exchange.getIn().getBody()
我试图通过一个端点Rest和Camel在Artemis队列上发布一条大消息(JSON格式+210k个字符)
当我使用ActiveMQ连接工厂添加Camel组件时org.apache.ActiveMQ.ActiveMQConnectionFactory-Version:5.15.6)我能够成功发布消息
但是当我使用Artemis连接工厂(org.apache.activemq.Artemis.jms.client.ActiveMQConnectionFactory-Version:2.6.2)时,
我发现,在旧版本的camel中,人们通常使用的方法是adviceWith,该方法位于类:routeddefinition——但在版本3.0 M2中,此方法不存在
org.apache.camel
这里没有
(二)
从问题来看,现在还不清楚你真正的问题是什么。
我猜想,您正在寻找骆驼3.0中与之相当的routedDefinition.adviceWith
在v3.0.0-M2中,这是您要查找的内容
驼峰3.0是一个主要的版本,与2.x相比,相当多的API已经发生了变化。
RouteDefin
我们用石英做同样的用途
我在计时器组件中进行了扫描,但找不到任何在给定时间触发计时器但计时器持续轮询的代码。就像我希望计时器每天12:10执行一样
我得到了以下示例,但同样的示例对作业调度没有帮助:
datefuture=newdate(newdate().getTime()+1000);
SimpleDataFormat sdf=新的SimpleDataFormat(“dd-MM-yyy-HH:MM:ss”);
字符串时间=sdf.format(未来);
fromF(“timer://simp
我正在将我的应用程序从Camel 2.x迁移到3.0.0。不幸的是,我注意到CxfBean组件已被删除。您知道我可以使用哪些组件吗?哪些组件与camel 3.0.0中的组件类似
我正在创建cxf/camel webservice,并为测试代码创建了如下代码:
@GET
@Path("/user")
@ProduceMime({ "application/json" })
public String user(@FormParam("token") String token) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addR
我希望获得以下类型的路由:
带有XML正文的HTTP POST消息
我存储XML主体的一些参数
消息被路由到外部端点
外部终结点(外部服务器)答复
->现在,我想检查来自外部端点的回复是否是HTTP 200 OK,其中包含一个等于SUCCESS的XML参数。
->如果是这样,那么我想使用一些存储的参数来构造一个新的HTTP消息(这次method=PUT),并将其发送到外部端点
我目前遇到的问题如下:
.choice()
.when(simple("${in.headers.CamelHttpR
下表给出了以下示例:
from("activemq:queue:order.in")
.to("bean:orderServer?method=validate")
.to("direct:processOrder");
from("direct:processOrder")
.to("bean:orderService?method=process")
.to("activemq:queue:order.out");
这和下面的有什么区别吗
from("ac
我正在使用Hawt.io监视我的ApacheCamel java应用程序,但我发现如果让它运行,我就无法使用jvisualvm(和类似的工具)来评测我的应用程序。似乎Hawt.io正在使用Camel公开的连接器,因此jvisualvm无法连接到jvm
我怎样才能拥有Hawt.io并仍然能够使用jvisualvm
谢谢大家! JConsole也可以连接到JVM吗
Hawtio只是在服务器端连接到Jolokia;它只是通过HTTP/JSON公开JMX;因此hawtio控制台本身不会以任何方式更改JM
我正在尝试使用Camel CSV文档将java对象导出到CSV文件中。我可以看到一个例子
Map<String, Object> body = new HashMap<String, Object>();
body.put("foo", "abc");
body.put("bar", 123);
这将打印abc,123
但我希望CSV中同时包含键和值。您能帮我一下吗?您需要将选项autogenColumns设置为true,以便同时输出按键。阅读文档
您希望输出是什么
我有一些骆驼配置,就是这个
<from uri="ftp://user@testserverx?password=password&throwExceptionOnConnectFailed=true&disconnect=true&passiveMode=true&noop=true&idempotent=false" />
我希望在日志中看到一些关于无法连接到testserverx的错误
但我没
我有一条将大文件分割成小文件的路径。所有拆分文件都应写入同一目录。文件端点(生产者)的默认行为似乎总是覆盖。
有没有一种简单的方法可以让文件生产者通过在文件名中添加一个计数器来进行简单的重命名?与在操作系统中一样,如果您对文件进行复制/粘贴,并且操作系统通过添加(copy-1…)自动重命名。您可以使用spliter CamelSplitIndex属性,并使用生产者的文件名选项中的简单表达式添加拆分索引,如下面的路径所示
from("file:data/inbox?")
.split(b
如果客户机消息与我期望的类型不匹配,但不向客户机返回响应,我希望丢弃这些消息
案例:
如果我检查类型A,客户机发送A,那么我处理A,并像往常一样发送响应
但是,如果客户端发送了B,那么只需丢弃消息并继续侦听,客户端就会因超时而死亡。我这样做是为了避免使用带宽处理垃圾信息,并最终禁止发送意外内容的IP
我试图:
使用“停止”,但这会停止处理交换,但仍会响应原始交换。
将MEP更改为非理性输出,但我不确定如何跳过回复。
我需要什么有意义吗S或者我应该满足于回复null或短文本,如禁止:P?我可以知道
我正在制作camel restlet。在允许客户端访问RESTlet之前,我必须进行一种身份验证/授权。类似于检查头部的API密钥
如何添加一个过滤器,就像我们对Servlet所做的那样?您阅读了这里的参考资料了吗?
因此,您必须定义一个所谓的RestlesRealm
这条路线很有效,并且在使用SoapUI时效果很好:
from("restlet:http://localhost:8484/restletTestService/submit?restletMethod=POST")
.routeId("myRestletSubmitRoute")
.unmarshal().json(JsonLibrary.Jackson, MyRequest.class)
.to("bean:myServiceSubmitProcessor")
我正在尝试使用camelcxf组件公开代码优先的Web服务。通过组合一些可用的示例,我得出了以下路线定义:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring"
xmlns:cxf="http://ca
我有两步驼峰路由工作流-两步都对同一主机进行POST调用,但URL和正文不同。第一个调用返回第二个调用的部分URL
代码如下:
// I register converter for different request types
getContext().getTypeConverterRegistry().addTypeConverters(new RequestConverter());
from("direct:two-step-flow")
.setHeader("paramId
我有一个apachecamel路由,其目的是获取xml文档和文档中链接的文件
当它到达myBean时,我想解析文件并使用相同的ftp设置来获取xml文件中列出的文件。
或者使用xpath同时获取它们
大字标题
文件名取自上述xml图像标记和src属性
然后,我想将原始文件与我的图像一起打包交付
我找不到解决问题的正确方法。我可能会这样做
根据文件的结构,我会像您一样使用它。然后,我将每行拆分正文(假设每行包含一个文件名)。使用拆分器EIP完成拆分。现在,每个主体都包含文件名
然后,我将使
我正在从camel调用一个web服务,当我尝试评估它的响应时,我得到了一个错误。这是驼峰代码:
<!-- Transformatio to the ws backend -->
<process id="_transformToValidaAccesoUsuario" ref="transformToValidaAccesoUsuario"/>
<!-- Invoke the ws -->
<to i
我正在使用camel-spring dsl将数据插入数据库
这是我正在使用的代码:
camel:to uri=
"sql:INSERT INTO SOME_TABLE(COL1,COL2) SELECT A.COL1,B.COL2 FROM A,B WHERE SOME_CONDITION"?dataSource="SOME_DataSource"
我没有收到任何错误,但是数据没有插入到数据库表中。
您知道为什么会发生这种情况,以及我可以做些什么来解决这种行为吗?如果您使用的是oracl
我试图将卡夫卡偏移量保存到文件中,我使用Spring boot,似乎偏移量正在写入文件,但没有读取,因此事实上camel将在重新启动时从卡夫卡主题的开头开始读取
@Component
public class Route extends RouteBuilder {
@Override
public void configure() throws Exception {
from(kafka())
.to("log:TEST?level=INFO")
我观察到,路由定义中的错误会导致应用程序的静默关闭,这是由Camel引起的。我如何配置骆驼来告诉我它到底不喜欢什么
简单示例:指定重复的路由名称
如果我[通过使用:.id(“route name”)]定义两个具有不同名称的路由,则应用程序将启动并报告就绪情况
如果我两次错误地使用名称,应用程序将无法完全启动,Camel将宣布:
Apache Camel 2.22.0 (CamelContext: camel-1) is shutting down
Apache Camel 2.22.0 (Cam
如何在计时器上记录每秒的实际seda队列深度。
例如
要做到这一点,上面的记录深度应该是多少?你不能那么容易地记录它。从定制处理器,您可以获得seda端点,从那里您可以获得API来获取队列,并获得大小,然后可以记录
还有JMXAPI可以找到这些信息
from("seda:messageParser?concurrentConsumers=5&size=5000)
.process(messageProcessor)
from("timer://sedaQueueD
我正在评估Camel在两个解耦系统之间创建集成的能力。我需要Camel定期轮询web服务以获取项目列表,对接收到的项目进行一些转换,并使用不同的传输将其发送到第二个系统
我尝试了以下方法:
<route id="timer">
<from uri="timer://myTimer?period=5000"/>
<to uri="direct:queryWS"/>
</route>
<route
我正在尝试使用camelstax创建一个处理大型xml文件的路由。文件内容处理工作正常,但最终失败,出现以下错误:
Caused by: java.io.IOException: Renaming file from: C:\workdir\file.xml to: C:\workdir\.camel\file.xml failed due cannot delete from file: C:\workdir\file.xml after copy succeeded
camel似乎不会关闭
在我成功之后
我遇到了另一个问题:我的处理器无法工作。代码如下:
public class CamelFE {
public static void main(String[] args) {
CamelContext cc = new DefaultCamelContext();
cc.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception
我想转换csv文件中特定行中某些字段的数据
1) .使用csv封送和解封送我实现了它,但输出csv的顺序不正确,即使我发送了地图列表(即列表)
下面是我的节目
from("file:E://camelinput//?noop=true")
.unmarshal(csv)
.convertBodyTo(List.class)
.process(new Processor() {
@Override
public void proce
我有两个blueprint文件包,其中包含camel activemq内容。
像
从blueprint文件中删除所有默认条目已修复该问题。
使用cofig文件中的属性也可以工作
这应该是一个常量,而不是占位符@AlessandroDaRugna说,默认属性必须包含一个静态值。现在,您告诉它读取配置文件来设置默认值,这根本没有任何意义。除非您真的需要一个默认值,否则您应该完全删除该块。
我需要通过另一种方式对ftp目录进行排序,我使用的是sortBy=file:modified选项。然而,上次修改的时间不适合我的用例。有时,通过ftp接收的文件会滞后或超前于另一个文件。内容是时间序列敏感数据,文件名以时间戳发布
示例:fileName1_2018-12-14_12-34-33.csv系统时间03:30:23
文件名2_2018-12-14-12-35-22.csv系统时间03:30:03
显然,应该首先使用fileName1,但是系统修改时间表明fileName2应该首先使用。
我在多个节点上运行apachecamel,所有节点的源文件夹都是相同的
并非所有节点都并行处理文件,如果node1正在处理文件,则node2正在等待获取node1锁定文件的锁,而不是拾取其他文件
我希望所有节点并行处理文件如果节点1正在处理文件,那么节点2应该处理除文件1以外的其他文件。问题是所有节点都获得相同的文件列表,并且所有节点都希望处理相同的文件
尝试使用shuffle选项,这样每个节点都会得到一个随机排序的文件列表。添加了shuffle参数,但仍然不按随机顺序拾取文件
ApacheCamel有超过300种类型的转换器可供开箱即用。作为一名开发人员,我还可以添加更多类型转换器。但是,有什么方法可以让我找到现成的驼峰式转换器的完整列表吗?我在GitHub中搜索了Camel源代码,但无法获得列表。这将有助于我决定是提供一个实现,还是使用Camel中已有的实现
我知道当我们将类型转换器添加到类路径时,许多组件都可以添加类型转换器。我只是想知道驼峰核心已经提供了哪些(或者最有用的)
感谢您的时间。一种开箱即用的方法是将您可以在github repo上找到的每个META-
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 64 页