我需要测试谓词对象是否匹配各种表达式语言的交换。我需要知道我需要在exchange中设置什么交换值来验证谓词
public void test() {
String expression="//orders/value>10"';
CamelContext context = new DefaultCamelContext();
Predicate predicate=new JXpathExpression(expression,boolean.class);
我需要在JMS队列中有新条目时编写代码,我希望该条目在MySql数据库中持久化。我了解到使用ApacheCamel项目可以实现这一点。有人能指出与此相关的示例或文档吗
洛克什是的,这很直截了当。至少包括JMS和数据库部分
from("jms:queue:someQueue")
.bean(SomeTransformerBean.class) // transform the message, custom code etc in
.to("sql:insert into FOO X VAL
我正在尝试为骆驼上下文中所有路由引发的所有异常配置异常处理程序。我的方法如下,没有运气:
实例化一个默认的驼峰上下文
从spring上下文检索RoutedDefinition列表
通过调用ctx.addRouteDefinitions()将这些定义添加到camel上下文
从JavaDSL定义的RotueBuilder(ctx.addRoutes(新的MyErrorHandlerOutebuilder())添加我的异常处理程序路由
启动camel上下文
此时,spring中定义的路由中抛出的异常由
我有一个类似于-
// use streaming to increase index throughput
.setHeader(SolrConstants.OPERATION,
constant(SolrConstants.OPERATION_INSERT_STREAMING))
// define solr endpoint and options
.to("so
对于POJO生产,Camel文档中提到InOut是默认值。
但是,如果我们使用的是ProducerTemplate的sendBody(),那么是否还需要像下面的示例一样设置@inoly
public class MyBean {
@Produce(uri = "direct:hello")
private ProducerTemplate producerTemplate;
@InOnly
void someInOnlyMethod()
{
...
producerTemplate.send
我已将延迟器(30000)指令设置为路由。在这30秒内,当我在这条路径上执行一次优雅的关机时,消息会立即传输到下一条指令。这正常吗
实际上这很聪明,但我怎么还能推迟交换呢
PS:对不起,camel 2.2.0是一个旧版本。
我不认为您可以在这里获得一些免费支持。您使用的是哪种骆驼版本?
骆驼的网页上说
以下项目可以利用Apache Camel作为路由和中介引擎:
ApacheServiceMix—一种流行的分布式开源ESB和JBI容器
ApacheActiveMQ—一个成熟、广泛使用的开源消息代理
ApacheCXF—智能web服务套件(JAX-WS和JAX-RS)
ApacheKaraf—一个小型的基于OSGi的运行时,可以在其中部署应用程序
ApacheMina—一种高性能NIO驱动的网络框架
但是,我希望在JavaEEWeb应用程序中运行Camel,并最好使用开源Java
ApacheCamel 2.12.1
是否可以将Camel CSV组件与pollEnrich一起使用?我看到的每个例子都是这样的:
from("file:somefile.csv").marshal...
而我使用的是PollRich,比如:
pollEnrich("file:somefile.csv", new CSVAggregator())
所以在CSVAggregator中我没有csv…我只有一个文件,我必须自己处理csv。那么,有没有一种方法可以将编组连接到某个位置
编辑
为了让这
字符串processFiles=”file://somedirectory?readLock=rename&preMove=inprogress/&move=../processed/&moveFailed=../error/"
字符串后处理器=”file://somedirectory/inprogress";
从(进程文件)
.螺纹(10)
.routeId(“someId”)
.to(“bean:somebean”)
从(后处理器)
.routeId(“后期处理”)
.to(“bean
嗨,我有一个非常简单的路由,从FTP位置读取文件。当我部署到服务组合(Jboss Fuse)中时,它会按预期读取文件
当我有一个大文件时,它会在完成复制到该位置之前读取该文件
如何解决此问题?如果问题是您在发件人完成发送之前读取了文件,则需要使用带有“重命名”值的“readlock”参数。这是该参数在FTP上工作的唯一值
如果问题是有人在您完成发送之前读取了文件,则需要使用“tempPrefix”参数。这将在仍然复制其内容时为文件名添加前缀(以便消费者在该阶段忽略它),并且仅在文件完全传输后重命
我有一条骆驼路线,看起来像这样:
bean类如下所示:
@组件
公共类BeanName{
私有最终静态记录器Logger=Logger.getLogger(BeanName.class.getName());
公共静态字符串消息=null;
公共静态字符串映射(字符串自定义){
消息=自定义;
退货习惯;
}
}
我编写了一个单元测试,它应该从bean中获取数据,然后将其与来自seda:external的数据进行比较。问题是,当我从seda队列中获取数据时,我将变为null。
我将ApacheCamel与websphere一起使用。我们遇到了一些类加载器问题。
我知道Camel提供了一个websphereclassloader,但我找不到如何使用它的示例。
尝试将其放入aplicationcontext.xml文件中
但是我弄错了
Caused by: java.lang.NoSuchMethodException: org.apache.camel.impl.WebSpherePackageScanClassResolver.<init>()
原因:
我在PlayFramework中运行Camel,它运行得很好,但是当Play服务器在开发模式下运行时,它会动态地重新加载类,但每次都会启动一个新的Camel上下文
我可以通过调用CamelContext上的stop()来连接到Play restart并关闭CamelContext,但我更希望能够检查是否已经有一个上下文在运行,如果已经有,就使用它
这一定是可能的,因为hawtio向我展示了骆驼上下文列表
我不使用spring来配置camel 您可以使用JMX查看JVM mbean服务器中的其他上
刚刚尝试将我的测试jboss fuse应用程序部署到openshift,但出现了这个错误
org.osgi.service.resolver.ResolutionException:无法解析虚拟/0.0.0:缺少需求[dummy/0.0.0]
osgi.identity;osgi.identity=flightsearch;类型=osgi.bundle;version=“[1.0.0.快照,1.0.0.快照]”
[原因:无法解析flightsearch/1.0.0.SNAPSHOT:缺少要求[f
我想从apachecamel站点测试camel-spring集成示例
但我有个例外
org.apache.camel.runtimecameleexception:org.springframework.integration.MessageDeliveryException:Dispatcher没有channel outputchannel的订阅服务器
我的简短代码如下:
<channel id="inChannel"/>
<channel id="outputChannel
我正在使用ApacheCamel处理文件
但是,我问是否可以根据字节数拆分文件
例如,如果我有一个大小为1go的文件,是否可以按10mo的块读取它(使用一个定义块大小的参数)
是否有一个组件驼峰EIP能够做到这一点
我尝试过流缓存,但什么也没发生
<camelContext xmlns="http://camel.apache.org/schema/spring" trace="true">
<properties>
<proper
选择从另一条路线开始骆驼路线的最佳方式是什么?我的用例是基于数据库中的表发送自动报告。如果表已过时,则应启动获取新数据的路由
我有生成和发送报告的路径,我有从远程服务器获取文件、在本地保存文件、将文件读入数据库并更新数据库日志的路径(如果数据是新的,这会告诉报告路径)
但是如何把它们联系在一起呢
// write to database
from(routeFrom)
.routeId(routeId)
.to(String.format(BEAN_INIT
你能帮我解决这个问题吗?我很少被介绍
JMS消息侦听器的执行失败。Java.io.IOException过早EOF的原因
多谢各位 这很可能是由于路线定义不正确造成的。当我在参数之间缺少一些“&”字符,或者在开始时没有“jms:queue”或“jms:topic”时,我遇到了这个错误
我有一个接收HL7消息并发送回确认响应的应用程序。我正在使用Citrus和Camel MLLP组件发送此HL7消息。我试图达到的目的是能够阅读确认书并进行比较
我目前正在使用hl7Payload,一个包含HL7内容的字符串变量进行测试。就我的情况而言,我有:
我尝试提取在上找到的标题:
send(“mllpOutEndpoint”)
.fork(真)
.messageType(messageType.PLAINTEXT)
.有效载荷(HL7有效载荷)
.extractFromHeader(“
如何修改下面的查询以传递承载令牌
.to("https://api.github.com/gists" +
"?httpMethod=POST" +
"&authMethod=Basic" +
"&authUsername={{github.username}}&quo
在我的项目中,使用ApacheCamel进行消息路由。来自某些节点的消息需要跟踪。为此,我使用BacklogTracer的实例。只要传递的消息不是InputStream,就可以了。在这种情况下,将收到以下字符串:
[正文是java.io.InputStream的实例]
对于跟踪流,使用键“isBodyIncludeStreams”。现在我从一个InputStream获得一条消息,但是现在读取了一条流,路由释放了一条消息以供进一步处理。
所以,问题是,我如何跟踪InputStream中的消息而不丢
注册表是一个项目列表,带有指向项目位置的指针,如数据库表上的索引或库的卡片目录
如果我错了,请纠正我的错误。根据这个定义,我希望驼峰应用程序注册表中的客户端应用程序(取决于客户端协议)可以执行查找,并根据元数据选择特定的服务并按定义使用它
我想知道ApacheCamel是否有类似的东西。我看到的大多数服务注册中心文章/实现似乎只涉及SOAP协议
注意。您可以使用camel web中的REST API查找路由和端点,这是camel中的“服务”。
在SOA服务注册方面,您可以查看其他专门从事该领域
我有一个路由设置为以批处理模式运行,轮询数千个XML文件。每个元素都在XML结构中加上时间戳,这个dateTime元素用于确定是否应该将XML包含在批处理的进一步处理(XQuery转换)中。由于这是一个批处理路由,它在执行后自行终止
因为路由需要自己关闭,所以我必须确保如果每条消息都被过滤掉,它也会关闭,这就是为什么我不使用过滤器,而是使用.choice()语句,并在exchange上设置一个自定义头,该头稍后在一个bean中使用,该bean对匹配项进行分组,并为XQuery准备一个源文档
然而
嗨,有人知道如何在camel中获得没有扩展名的文件名吗。使用SpringXML
我知道${header.CamelFileNameOnly}将给出完整的文件名,如“test.txt”
我只想获得名称“test”,并且需要在其他地方使用这个名称,有人知道怎么做吗?请参阅Camel文档
然后,您可以使用simple language()来获取名称部分,只使用${file:onlyname.noext}使用该语言。你的路线应该是
<camel:route>
<camel
我正在尝试确定使用ApacheCamel和Spring将来自两个hornetq代理实例的消息流组合成单个流进行处理的最佳方法。这本质上与骆驼模式相反;但我需要的不是一对多,而是多对一。一个想法是使用组件实现此功能:
<?xml version="1.0" encoding="UTF-8"/>
<beans xmlns="..."
xmlns="...">
<!-- JMS Connection 1 -->
<bean id
是否有一个代码覆盖率/质量工具(如Sonar)可以很好地处理驼峰路线?在通过Jenkins运行junits之后,我一直在对camel routes的示例构建进行一些分析,以发现Sonar中没有任何寄存器。route DSL将camel框架配置为运行集成
你需要知道为什么你需要骆驼应用的代码覆盖率报告,以及它们应该告诉你什么
骆驼路线可以用多种方式书写。XML DSL、Groovy DSL、Java DSL等。。即使编写JavaDSL,表达式和脚本中也可能包含大量的逻辑,比如simple/groo
如何将消息从路由的末尾发送到路由的开头(即从生产者端点发送到消费者端点)
我的producer端点是一个套接字服务器,偶尔一个连接的客户端会发送一条消息,需要转发到另一端
从(“socks:client:localhost:3456”)到(“socks:server:localhost:3333”)
我被困在以下代码中的messageReceived:
public class SocksProducer extends DefaultAsyncProducer {
private List&
我使用的是apachecamel蓝图,我的路由是从localhost上8081端口的URL触发的。此路由生成一个文件,但问题是该文件是一个没有显示HTML的二进制文件
然后,我导航到触发URL的浏览器
我不明白的是什么导致它输出二进制文件而不是文本文件?我想我必须以某种方式改变身体
<route id="url1">
<from uri="netty4-http:http://0.0.0.0:8081/foo" />
<to
我正在使用ApacheCamel中的ACH-WS组件使用WSS(更准确地说是Slack的websocket服务器)连接到websocket服务器。我有一条这样的路线:
from("ahc-wss://host")
.log(...)
.to(...)
当我初始化我的应用程序时,我会看到以下日志:
Route: wss-inbound-event started and consuming from: Endpoint[ahc-wss://ms109.slack-msgs.com/web
我正在寻找一个集成框架。猜猜看,我发现了一只——阿帕奇骆驼。这个框架很酷。但对于我的一个要求,我无法按正确的顺序放置组件。该要求分为以下几个阶段-
Authentication
Authorization
PreProcessing etc.
因此,当请求到来时,我需要进行身份验证、授权、预处理等。问题是这些步骤中的每一步都可能失败,因此我不希望执行流继续,而应该返回一些失败消息。
我在试这种东西-
from("jetty").choice().
when(Auth.isAuthenticat
有时候,当我调试路由时,我在exchange中看到异常,而其他时候异常会转到CamelExceptionCaught属性。它们之间有什么区别?当错误处理程序处理异常时,它会将异常从exchange.getException移动到exchange属性。这样做是为了让错误处理程序和Camel知道它已被处理。如果随后继续路由交换,并在交换上引发/设置新异常,则错误处理程序能够再次作出反应
请参阅此常见问题解答:FYI引用您的链接:然后请注意,因为您使用了handled(true),所以导致的异常在ex
我使用SpringBoot启动一个camel路由,该路由使用camel sql查询MySQL数据库并调用REST服务
应用程序属性
db.driver=com.mysql.jdbc.Driver
db.url=mysql://IP:PORT/abc
db.username=abc
db.password=pwd
Application.java
publicstaticvoidmain(字符串[]args){
run(WlEventNotificationBatchApplication.cl
我试图在camel route中实现CronScheduledrutePolicy,但它并没有按预期工作。我希望开关站路线在cron触发器处停止和启动。我在路由定义中添加了routePolicyRef=“customRoutePolicy”和AutoStart=“false”属性
日志:
Iam尝试类似于此,仅在cron触发期间才需要从队列中拾取消息,但一旦部署完成,连接的组件就会开始侦听队列。
你能告诉我可能有什么问题吗
骆驼路线:
<?xml version="1.0" encodin
我使用apache camel蓝图中的节流阀:throttle timePeriodMillis=“1000”
常数=4时
我想使用占位符动态放置timePeriodMillis的值。这可能吗?请参阅文档:
这里可以使用XML DSL属性组件中为任何类型的属性使用属性占位符的部分
例:
Properties properties = new Properties();
InputStream input = null;
public void configure() throws IOEx
我似乎遇到了在路由之间共享信息的问题
传递信息的驼峰模式是什么
我查看了exchange属性,但我认为这不会在路线之间停留
例如:
一个文件有一个文件有一些配置
我有一个读取此文件的路径
以及其他几个基于配置的路由
我如何做到这一点
我曾想过将值放入单例bean中,但这似乎有点难看……交换属性在camel中的路由之间被保留(但在使用拆分器/聚合器等时存在一些限制和特殊情况)。将ID分配给将根据配置进行操作的所有子路由。然后从camel上下文中获取合适的路由或RoutedDefinition,并检
我正在尝试将pojo转换为camel中的csv。这是模型
@CsvRecord(separator = ";")
public class Model {
@DataField(pos = 1)
private String t;
@DataField(pos = 2)
private List<Integer> list;
}
但我还是犯了同样的错误。有人能帮我吗 我认为您需要在Jndi中绑定defaultFactoryRegist
我有一条路线(a),可以做一些事情,比如打电话给休息服务
在这个路径中,在调用REST服务之前,我需要调用另一个REST服务,以对我的应用程序中的一些数据进行估值。该新呼叫位于另一个路由(B)
我正在寻找调用第二条路线(B)的提示,但是使用了一个新的“交换”(我不希望a和B中的交换之间有链接)
有人知道解决办法吗
谢谢,也许EIP会有所帮助如果您放一些代码片段会更好。请显示您的路由配置。如果不查看您当前的路由,很难提出任何建议。抱歉,已更新。您可以通过直接端点调用其他路由,例如to direct
我在我的项目中使用了camel hystrix eip,我希望在回退之前有一个处理器,但它不起作用
from("direct:sample").id("id:direct:sample").process(requestProcessor)
.hystrix()
.to(endPoint)
.onFallbackViaNetwork()
.to(fallback_end
我正在尝试使用camel restdsl Swagger Maven插件从Swagger文档(OAS2)生成XML DSL。
不幸的是,我越来越
java.lang.NoSuchMethodException:
org.apache.camel.model.rest.
RestOperationParamDefinition.allowableValues(java.lang.String
我使用的是Camel 2.17,将版本升级到了2.23,我发现这个
我正在使用Camel 2.18和java8。下面是一些路由代码。我将此类JSON发布到此服务:
{
"bigField": "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest",
"sma
我使用Camel SMTP组件从Camel路由发送电子邮件,它工作正常,但每次发送邮件时都会收到两条警告消息
expected resource not found: /META-INF/javamail.default.providers
expected resource not found: /META-INF/javamail.default.address.map
有没有办法阻止这一切?我曾尝试将空白资源文件放在路由jar文件的META-INF文件夹中,但似乎没有任何效果。显然,Ja
我使用的是Karaf和Camel,并且能够配置PAX日志在MDC字段(Camel.routeId)上进行筛选,这很好
我想知道是否可以将log4j2配置为在日志类别字段(%c或log4j2转换模式术语中的%logger)上进行筛选,或者是否有人可以为我指明正确的方向,告诉我如何进行配置。log4j2(pax-logging-log4j2)正在基于MDC数据进行“筛选”。默认情况下,记录器/类别不是此上下文数据的一部分。但是,您可以自己将记录器名称输入MDC
在pax-logging-log4j2
我已在Quarkus v1.7.1应用程序中配置了带有Quartz调度的SFTP骆驼路线。应用程序启动时没有错误,但Quartz时间表实际上没有启动,因为它认为没有工作要做
我的路线由
from("sftp://sftp.server.com:22/path?"
+ "binary=true&"
+ "streamDownload=true&"
+
使用此处描述的三元运算符逻辑
我正在尝试设置一个名为StatusMsg2的exchange属性,如下所示,其中
exchangeProperty.StatusMsg='abc'
.setProperty("StatusMsg2")
.simple("${exchangeProperty.StatusMsg} == null ? 'ee2e2e2' : 'fffffff'")
将StatusMsg2设置为字符串的
abc == null ? 'ee2e2
我正在使用ActiveMQ 5.16和Camel 3.4。我的ActiveMQ客户端正在使用故障转移传输:
failover:(tcp://localhost:61616)?maxReconnectAttempts=-1&maxReconnectDelay=5000000
在测试是否快速停止和启动代理时,会发生重新连接。如果我不在15秒内重新启动代理,Camel似乎会关闭。这就好像ActiveMQ被设置为重新连接,但骆驼本身并没有等待
Apache Camel 3.4.0 (camel
我有以下内容
<camelContext id="_camuatomicservicecontext" xmlns="http://camel.apache.org/schema/blueprint">
<route id="_camuatomicserviceroute1">
<from id="_from1" uri="direct-
我有一个应用程序,有两条路由,负责发送短信
我们注意到,有时连接会丢失(或似乎丢失)。在这种情况下,Camel会尝试重新连接到SMSC,在某些情况下,我们会打开4个到SMSC的连接,而不是2个到SMSC的连接
smsc级别的问题是,可用连接有限
你有什么建议可以避免这种行为?
有没有办法确保在初始连接关闭之前不进行新连接。您使用的是哪种驼峰版本?驼峰版本是:2.10.3
如何使用ApacheCamel创建REST服务(通过SSL)?
CXFRS可以用于创建REST服务并通过https公开吗
请帮助您可以使用camel jetty组件构建REST并通过https公开。这非常简单,易于配置
提供了配置https的详细信息和示例
cxf组件也应该支持
嗨,我有一条路线是
<route id="invokeGetMortgageAccountDetails">
<from uri="direct:invokeGetMortgageAccountDetails" />
<removeHeaders pattern="operationNamespace" />
<setHeader headerName="operationName">
<constant>getMortgageDeta
我在与jboss eap undertow子系统的camel集成中遇到了一个奇怪的错误
我在jboss eap 7中使用fuse补丁7.0.0部署了几场战争,每一场战争都暴露了jaxrs端点,这些端点是作为与cxf使用者的路由实现的
我发现这里有一个poc:
复制该问题
问题是:
每个包含带有cxf使用者的路由的web应用程序都在Undertow上定义了一个隐式web上下文,但是当web应用程序取消部署时,例如app1,则会从Undertow中删除错误的上下文,例如app2的web上下文,因此
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 67 页