我正在尝试通过SFTP获取大文件,并尝试使用读锁。当尝试获取1G文件(复制一个大文件需要很多秒)时,我得到以下异常。顺便说一句,当我尝试一个1M大小的小文件时,SFTP工作正常
这是骆驼2.12.1中的错误还是我做错了什么
2013-12-13 14:30:12,964 [alhost/outbound] INFO SftpConsumer - Connected and logged in to: sftp://tdr@localhost:22
2013-
在Apache Storm中,Apache Camel可用于订阅ActiveMQ队列,Storm Bolt将其输出写入其中,将这些输出推送到WebSocket,因此,客户端可以在正确握手后获得这些流数据,如中所示
在使用Java中的WebSocket将Spark流数据从服务器端发送到客户端时,是否有类似的方法?如果没有,还有其他更好的Java或Scala解决方案吗
谢谢。我的解决方案是使用RabbitMQ。让Spark作为RabbitMQ队列的生产者。然后使用RabbitMQ使用者通过WebSo
我正在尝试创建一个要部署在Glassfish 4上的webapp。
以
创建maven项目
将依赖项添加到pom.xml
将servlet配置放入web.xml
将bean定义放入context.xml中
我的问题是它不能在glassfish下作为webapp运行。使用mvn jetty:run它运行正常,但在glassfish中运行不正常
我怀疑camel restlet和org.restlet.jee.ext.sprint之间存在Spring版本冲突
camel restlet v1
我在Spring引导应用程序中使用Camel并与RabbitMQ集成,但遇到了奇怪的行为
我的应用程序有Restful端点,可以将http请求转换为RabbitMQ消息,并将其发布到预定义的exchange。有一个单独的消费者应用程序,它监听队列并处理消息
我故意输入了一个不正确的rabbitmq交换名称(invalidxchangename),以检查如果交换不存在,应用程序是否会失败,但是骆驼上下文启动时没有错误,并且当我第一次发送请求时,不会报告任何错误。此消息丢失,因为没有匹配的Rabbi
有人能为jsch组件提供一个工作骆驼路线的示例吗?我需要使用骆驼的scp。我试过:
from("file:tmp/")
.to("scp://server?username=user&password=pass");
但是它不起作用您的代码应该可以工作
检查你的日志。。。也许你需要一个已知的hostsfile
我是这样做的:
scp://server/output/?username=user&password=pass&knownHostsFile=C:\\llave
我正在使用SpringDSL编写一个sql路由,并使用sql组件。
如果我的查询返回100行。问题是我的处理器被调用了100次。我每60秒轮询一次数据库
因此,我的from查询就像消息的生产者一样,一次只发送一行
有没有办法在我的处理器中一次性获得100行的完整结果集,以便对这些数据进行操作
<from uri="sql:{{sql.selectQuery}}?delay=60s"/>
<process ref="sqlProcessor" />
浏览文档()我发现
从
我在尝试将不同路径附加到Xml配置文件中的FROM Uri时遇到问题,在java中可以这样做:
String[] uris = new String[]{"file:source/path1","file:source/path2"};
from (uris).to("file:dest/path")
生成的路由将文件从源路径移动到目标路径,如何使用SpringXML实现这一点?我一直在尝试不同的方法,但都没有找到有效的方法
<route id="bar">
<fro
我尝试使用camel(2.15.1)从数据库中获取一个blob。数据大小约为20MB。这是我的路线:
<route streamCache="true">
<from uri="file://c:/tmp/trigger" />
<to uri="jdbc:datasourceCosima" />
<log message="done 1."/>
<to uri="direct:a" />
</ro
下面是我创建的元数据文档类和属性定义
DocClassDisplayName-ClassSymbolicName
CustomMeta-doc\u CustomMeta
PropDisplayname-PropSymbolicName-Datatype
SINo - prp_SINo - String(64)
VersionNo - prp_VersionNo - String(64)
User - prp_User - String(64)
Agency - prp_Agency - Stri
据我所知,Camel中的servlet和jetty端点都是一个请求-应答消息交换(InOut),需要out消息
因此,我假设当我向这些端点发送HTTP请求时,只有在路由的所有处理器都完成之后,才会发送回响应
是否有可能以一种先发后忘的方式调用这些端点,即只触发路由并立即返回响应,而不等待所有处理完成?当然,您只需要在路由中添加一些步骤(EIP或组件)
例如…此路由将所有请求发送到JMS队列(或seda等),该队列可以异步处理,并在消息进入队列后将ACK返回HTTP客户端
from("http:/
我正在更新一个使用ApacheCamel的旧应用程序。旧代码将包含JSON数组的输入文件解组为POJO数组(事件),然后将其拆分以处理数组中的每个元素,如下所示:
GsonDataFormat eventFormat = new GsonDataFormat(new GsonBuilder().create(), Event[].class);
from("file:...")
.unmarshal(eventFormat);
.split(body(Event[].class))
...
这
您好,我正在使用camel bindy组件处理一个CSV文件,其中我将数据分割为1000行块,并使用每个块生成其标题列,我需要它只使用单个文件生成一次。
我的路线:
还有我的OutputCSV.java pojo
@CsvRecord(separator = ",",generateHeaderColumns=true)
public class OutputCSV implements Serializable {
private static final long serialVersio
我写了2条路径来处理目录中的文件,这些文件可以有任何名称,但我需要2条路径,因为我需要一些复杂的处理
第一条路线:
<route id="Init">
<from uri="file:{{file.path}}?move=.done&moveFailed=.error&readLock=changed&readLockCheckInterval=1500&charset=UTF-8"/>
我通过http4camel的组件调用一个REST服务,我想将JSON响应映射到一些头。出于这个原因,我使用了jsonpath语言
<route>
...
<toD uri="http4://theCallingServiceUrl"/>
<setHeader headerName="CamelAddressesLink">
<jsonpath>$._links.collection/addresses.href<
我尝试根据网站创建一个带有camel和spring ws的web服务-
但是,当我触发soap请求时,我得到了下面的错误
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault xmlns:ns0="http://schemas.xmlsoap.org/soap/envel
我正在使用SpringWS-ApacheCamel,它默认支持SOAP1.1。但我想发布一个将其绑定到soap 1.2的请求,因为我的端点服务只支持soap 1.2。我尝试在applicationContext.xml中设置messageFactory,如下所示
<bean id="soapMessageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> <
我使用camel作为微服务网关,使用concur集群作为服务发现中心
每个camel网关连接localhost concur客户机(在生产模式下推荐)以进行服务发现
如果我强制关闭网关节点上的Concur客户端,网关将无法获取Concur群集上的任何服务信息
请求还在继续,所有的回复都有500个状态码
我很好奇,concur集群可以容忍N个服务器故障(2N+1个服务器),但不能处理任何客户端故障
真奇怪。我误解了什么吗
camel使用camel-concur启动器来配置concur
cloud:
我不熟悉Camel SQL存储组件。我使用的是camel-sql-2.24.2版本。
我试图构建的过程如下所示:
.to("sql-stored:SAMPLE_PROCEDURE(OUT VARCHAR id1,OUT VARCHAR id2,INOUT VARCHAR {header.id3} id3,VARCHAR ${header.id4},VARCHAR ${header.id5})?dataSource=#dataSource")
我使用了所有的输入、输出和输入参数。通过上述调用,返
标签: Apache Camel
apache-karafjbossfusefuseesbapache-servicemix
我尝试为处理web服务的ApacheServiceMix开发一个入门应用程序
1) 我构建应用程序(使用“mnv install”命令)
2) 将其部署到ServiceMix(使用'karaf@root>osgi:在服务器控制台上安装mvn:com.company/ws-test-fuse/1.0.0-SNAPSHOT命令)
3) 观察它是如何安装的('osgi:list')
4) 我尝试启动应用程序
karaf@root>osgi:start 157
我明白了:
org.osgi.fr
这是将${body}设置为“id”字段的示例代码,但由于它支持消息体作为SolrInputDocument或等效的XML,我该如何在上述XML路由中实现这一点?如果您有SolrInputDocument,那么只需将其作为消息体传递给路由,并确保操作头设置正确
<route>
<from uri="direct:insert"/>
<setHeader headerName="SolrOperation">
<constan
我有两个实体Entity1和Entity2。这就是我需要做的,作为我路线的一部分
我需要读取Entity1并获取列值,获取该列值并将其更新为Entity2中的列
如何使用Camel Jpa实现这一点?应该非常简单。您可以使用Camel JPA检索和存储实体。许多Camel构造或普通javabean可以在它们之间映射。你们试过什么?@Petter我在我的路线中使用了JPA组件,只是试着更新一个列,使用这个方法效果很好。现在我使用namedquery并传递了一些常量查询。这就是我现在观察到的,我在这
对于死信端点,我想添加自定义根(将消息/交换重定向到其他端点,将Wire Tap添加到bean,等等)。不幸的是,我没有看到死信通道类(以及如何)提供这种重定向。我是否需要编写自己的错误处理程序,还是可以使用死信通道?(我知道在发生错误的情况下,消息会被重定向到死信通道-结束。)您可以将死信通道中的端点uri设置为直接EndPout,因此可以将其路由到新的路由,例如
erorHandler(deadLetterChannel("direct:dead"));
...
from("direct:
我是apache Camel的新手,正在尝试编写一个基本测试。然而,我很好奇是否有一种方法可以写一条可以接受任何“来自”的路线。例如,我尝试了以下方法:
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
from("*").to("mock:result");
我在生产环境中遇到以下错误
DEBUG org.apache.camel.processor.DefaultErrorHandler-exchangeId的传递失败-*-56874-1372457272212-0-1。交付时尝试:0捕获:org.apache.camel.CamelExecutionException:在exchange:exchange上执行期间发生异常
DEBUG org.apache.camel.processor.Pipeline-消息交换失败:因此中断了exchange
我们目前正在考虑用ESB或类似工具替换我们的一个应用程序,并希望了解如何最好地实现这一点
目前,我们有一个独立的服务,它使用不同的外部服务和数据源并与之交互,有些是通过soapweb服务提供的,而另一些只是使用DB连接。这项服务是通过SOAP公开的,我们有其他应用程序使用这项服务,但与之紧密耦合,现在我们也有其他应用程序需要使用一些外部服务,并希望用ESB或某种SOA平台来取代这些服务
用ESB替换这个“外部”服务集成层的最佳方法是什么?我们正在考虑建立一个“全局”契约/API,其中我们使用的所
我有这个:
15:20:06 | INFO | aultShutdownStrategy | mel.impl.DefaultShutdownStrategy 73 | Starting to graceful shutdown routes (timeout 300 seconds)
15:20:06 | INFO | aultShutdownStrategy | mel.impl.DefaultShutdownStrategy 106 | Graceful shutdown of
我们在一个包含Web服务activemq的上下文中定义了一些路由。。在途中
最初,我们将路由部署为单个Jboss节点中的WAR
为了扩展(通常我们是针对web服务),我在多个Jboss节点中部署了相同的上下文
但性能实际上有所下降
仅供参考:所有上下文都指向相同的activemq代理
以下是我的问题:
如何在不同的机器上实现负载平衡/故障转移
如果将上下文部署在多个节点中,聚合能否正常工作
请说出你的想法 如果不详细查看您的系统,就无法知道它为什么会变慢,因此我将跳过这一部分。关于你的另外两个问
我正在尝试使用camel-netty将数据发送到服务器。如果服务器在配置的时间内没有响应数据,我需要使用相同的连接重新发送消息
为此,我将disconnectOnNoReply设置为false
但即便如此,它仍在建立新的连接并重新发送信息
我的要求是仅在特定重试后创建新连接。netty producer使用连接池,因此您无法控制用于重新发送的连接。但是您可以尝试将池大小设置为1,以便强制池使用相同的通道
我已经使用RESTServlet绑定将路由公开为服务
我将employeeClientBean用作POJO,将对EmployeeREST服务的实际调用封装在其中,基本上扮演服务客户机的角色
因此,根据传递的方法名,我通过employeeClientBean调用employee REST服务中的相应方法
我想知道如何处理代码块中添加的逗号中的场景
我刚刚接触Camel,但觉得POJO绑定更好,因为它不会将我们与特定于Camel的api(如exchange和processor)耦合,甚至不会使用
任
在我的申请中,我有一条如下的路线-
fromstp:config.tofile:config
我必须处理在生成端点时apache camel的默认异常处理边界之外发生的异常。例如,写入文件时可能会发生异常。我如何处理这个异常
在camel文档中,我了解到,对于文件使用者,他们提供了不同的选项,如-consumer.errorHandler和consumer.bridgeErrorHandler。但是对于文件生产者来说,没有像producer.errorHandler这样的选项。Camel的文件组
我在我的ApacheCamel代码中遇到了这个问题,在过去两天中我一直在尝试解决这个问题,但我无法解决它
我有两条路线。第一条路线如下:
public class XXXRoute1 extends RouteBuilder {
public void configure() {
String endpointUri = "cxf:/XXX;
String logEndpoint = "log:" + XXX() + "?level=DEBUG";
我正在exchange对象的头中设置一个列表和其他两个头,并将其路由到ActiveMQ
exchange.getOut().setHeader(“testList”,testList);
exchange.getOut().setHeader(“testObject”,testObject);
exchange.getOut().setHeader(“header1”、“value1”);
exchange.getOut().setHeader(“header2”、“value2”);
在下一
下面是我的camel上下文,但从属性文件读取vlaue不起作用,它并没有侦听queueName中提到的队列。他正在使用民意测验
丰富一个好主意,因为它使用直接组件
<bean id="bridgePropertyPlaceholder"
class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer">
<property name="location" value="clas
我必须创建一个发布/订阅客户端。
因此,该客户端需要在启动时发送注册调用,然后只侦听已发布的更新。发布者是一个第三方软件,它只能通过TCP/IP进行通信,因此使用JMS是没有选择的
我的第一个想法是创建两条路由,一条用于发送请求,另一条用于接收结果
// configure clientMode
String rtServerUri = "netty4:tcp://localhost:30600?clientMode=true&decoders=#length-decoder,#
如何将驼峰节流与非类型ConsumerActor集成?在akka中采用驼峰节流时,getURi()看起来如何
我正在通过该路由从http接收数据流:
from("direct:foo").
to("http://foo.com/bar.html").
to("file:///tmp/bar.html")
HTTP流带有Windows-1251编码。我想动态地重新编码到UTF-8,然后存储到文件
如何使用标准的camel方式执行此操作?请查看.convertBodyTo()——尤其是字符集参数
from("direct:foo").
to("http://foo.com/bar.html").
conv
我有一个队列,我希望在其中处理选定的消息,并能够使用Java DSL实现它,如下所示:
from("amq:queue:{{jms.miscQueue}}?transacted=false&selector=DSBSelectorID %3D '" + SELECTOR_ID_TRANSACTION_A2A + "'")
from("amq:queue:{{jms.miscQueue}}?transacted=false&selector=DSBSelectorID %3D '
我正在使用ApacheCamel根据计时器事件触发各种操作。对于要触发的计时器事件,我使用camel quartz。示例触发器如下所示:
from("quartz://job_timers/customer_activation?cron=0+0+0+*+*+?+*&trigger.timeZone=America/Chicago")
.routeId("TrigCustActivation")
.log(LoggingLe
我有以下代码用于将消息发布到activeMQ并通过exchange读取响应。但代码似乎是即时返回的,而不是等待响应。你能指出下面的Scala代码有什么问题吗
def sendAndReceiveExtractionDetails(request:String, header: String) : String = {
val exchange: DefaultExchange = new DefaultExchange(camel, ExchangePattern.InOut)
如何使用自动配置的生产者模板获取多个不同的ProducerTemplate实例?如果使用自动配置的ProducerTemplate,如何获得多个不同的ProducerTemplate实例
例如,我需要使用producertemplate将不同的交换发送到不同的端点。在这种情况下,我是否需要不同的生产者模板实例?如果是,我该怎么做
自动配置的消费者和生产者模板
驼峰自动配置提供预配置的ConsumerTemplate和ProducerTemplate实例。您可以简单地将它们注入到Spring托管b
使用此代码
<propertyPlaceholder id="properties" location="file:${basedir}/etc/foo.properties"/>
在应用程序启动时驼峰加载foo.properties:是否有办法每小时重新加载foo.properties
如果foo.properties发生更改,它会很有用。camel属性组件具有一个属性,可用于控制是否必须缓存属性,请参阅:camel属性组件具有一个属性,可用于控制是否必须缓存属性,请参阅:
我正在尝试将我的Apache Camel 2.10.4应用程序迁移到3.0.0M4。经过很多努力,我被这个问题困住了,它似乎在抱怨缺少依赖性
Java.lang.NoClassDefFoundError:org/apache/camel/support/processor/validation/PredicateValidatingProcessor
查看camel版本3.0.0-M4,但我找不到任何具有上述类的jar。谷歌没有发现任何关于新处理器路径org.apache.camel.suppo
我正在使用Camel 2.17.0。我需要在blueprint.xml文件中以简单语言使用in运算符,如下所示
'草稿,审阅'中的${header.STATUS}
..
但是,它不工作,并引发以下异常:
org.apache.camel.cameleExecutionException:在exchange上执行时发生异常:exchange[ID-A5668784-61983-157987128661-9-6]
位于org.apache.camel.util.ObjectHelper.wrapC
我期待着使用camel 3.2.0版本和JDK11实现多部分文件上传
我能够使用下面的代码成功地对旧版本的camel 2.x执行相同的操作
.post("/importFile")
.id("importFile")
.bindingMode(RestBindingMode.off)
.consumes("multipart/form-data")
.produces(IConstants.APPLI
当前用例:
在下面的配置中,我们尝试使用自定义迭代器处理器拆分父消息,并根据其内容将不同的端点分配给测试处理器内的不同子消息
from("endpoint")
.split().method(iteratorProcessor, "execute")
.shareUnitOfWork()
.stopOnException()
.bean(testProcessor, "process")
.receipientList(header("desti
是否有groupExchanges()方法的替代方法;
根据,这应该是可能的,但是,我无法编译代码,因为该方法似乎已经消失。自ApacheCamel 2.15.x以来,该方法被弃用,自2.18.x以来被删除。你应该用它来代替
我有文件,在网站上,它将很快部署
.aggregate(new GroupedExchangeAggregationStrategy()) // Or AggregationStrategies.groupedExchange()
我在理解为什么聚合器没有从用于丰富原始交换的子路由接收到正确的交换时遇到了一个问题。
我能说的是,日志在路由的末尾正确打印,但在父路由中,我只从子路由的前面得到一个消息体。
话虽如此,这里是路线的浓缩摘录
this.from("direct:fetchPartnersForAggregation")
.to("sql:select * from ...")
.process(exchange -> {
List<Map<String, O
我在Spring引导应用程序中使用Camel从AMQ队列进行路由。来自此队列的消息将发送到REST Web服务。它已在使用此代码行:
fromamq:queue:MyQueue.processjmsToHttpProcessor.touri
我的uri如下所示:
http4://localhost:28010/application/createCustomer
现在我有一个要求,即到Web服务的路由应该并行完成:
为了实现这一点,我在JMS配置中配置了concurrentConsumers,
我需要使用camel从一个目录中获取多个文件。当我搜索这个实现时,我发现camel一次只能获取一个文件。但我们可以通过循环重复poll来获取多个文件。如何正确实施这一点
当前实现的示例代码如下:
<camel:route id="fileRoute">
<camel:from uri="jetty:{{file.api.endpoint}}" />
<camel:convertBodyTo type="
我是阿帕奇骆驼队的新手。在我的应用程序中,我需要使用文件夹中文件的信息,进行验证,并将结果信息存储在exchange中存储的对象上的属性上。此过程必须每天每3小时运行一次
但是,我每天只需要在预定时间发送一封包含该对象上存储的信息的电子邮件。我怎样才能做到这一点
下面是一些伪代码:
.1从(“文件:C:/SourceFolder?scheduler.cron=*3****).aggregate().process()到(a);//每3小时
.2从(a).process();//在这里,电子邮件必
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 66 页