Tag: apache camel

如何将JTable导出到.csv文件?

就像标题所暗示的那样,我正在寻找一种将带有数据的jtable导出到.csv file 。 我不是在寻找其他选项然后是CSV ,因为CSV是我的程序的要求。 我一直在寻找某些东西,比如apache.camel bindy ,我找不到足够的信息来理解如何使用它。 什么推荐? 如果某人有一个体面的使用bindy例子,我也不介意。 友好的问候, Skillcoil

Camel Restlet – 如何使用SSL公开服务

我使用最新的Apache Camel(2.14)暴露了一些REST服务,更准确地说是使用Restlet组件( http://camel.apache.org/restlet.html )。 有没有办法在HTTPS下公开服务? 我找不到任何解释如何设置SSL密钥库,密钥库密码等的文档…

Camel NotifyBuilder总是返回false

我有一条相当简单的路线: PerfStubRouteBuilder.java public class PerfStubRouteBuilder extends SpringRouteBuilder { /* (non-Javadoc) * @see org.apache.camel.builder.RouteBuilder#configure() */ @Override public void configure() throws Exception { from(“direct:test-aces-input”) .log(“Creating test Accident Number header”) .setHeader(“AccidentNumber”, simple(“AB999999999”)) .log(“Test Accident Number header created : ${header.AccidentNumber}”) .end(); } } 我正在测试它如下: PerfStubRouteBuilderTest.java public class PerfStubRouteBuilderTest extends CamelTestSupport { @Produce(uri = “direct:test-aces-input”) ProducerTemplate template; PerfStubRouteBuilder route = […]

骆驼聚合策略

我正在解析一个CSV文件,将其拆分并通过camel中的多个处理器进行路由。 有两个端点,一个具有错误数据,另一个端点具有validation数据。 我需要汇总数据的建议。 假设CSV文件有10条记录,其中6条记录到达一个端点,而4条记录到达另一个端点。 如何从每个端点的文件中完成所有10个并完成聚合器。 我需要创建两个文件,一个包含有效数据,另一个包含来自单个文件的损坏数据。

Camel使用Simple DSL替换所有CRLF和LF

我试图用LF替换输入数据的CRLF,但这打破了路线。 我的代码如下所示 from(fromEndpoint) .convertBodyTo(byte[].class, “iso-8859-1”) .setBody(simple(“body.replaceAll(\r\n, \n)”))…. 如果我把套装拿出去它就会很完美。 我只想要平台相关的换行 我有什么想法我做错了吗? 谢谢

如何使用基本身份validation配置Camel CXF

我是Apache Camel和CXF的新手, 我正在尝试创建一个查询远程WS的路由,该路由需要基本身份validation并指定Soap Action标头。 我能够使用camel HTTP组件实现相同的function,但我需要在java DSL中使用相同的驼峰CXF 任何人都可以指导我们修复相同的问题

如何在不同的camel路由上的方法之间共享对象

我在网上搜索没有运气的东西,我觉得这很简单,但显然不是。 我想要做的就是在一个在camel路由中调用的方法中创建一个HashSet,然后将这个HashSet传递给另一个camel路由中的方法。 我的搜索返回的是我应该使用缓存,但我找不到任何示例(一个简单的例子),它将告诉我如何实现它。 第一个路径中的方法“findProperties”创建一个HashSet,我想在“parseFile”方法的第二个路径中使用它。 from(“file:{{List}}?noop=true”) .autoStartup(true) .unmarshal().csv() .to(“bean:ParserUtils?method=findProperties”) .end(); from(“file:{{Path}}?move={{processedPath}}”) .autoStartup(true) .unmarshal().csv() .to(“bean:Parser?method=parseFile”) .end() 我真的很感激在缓存或其他解决方案中获取和设置对象的简单示例。

从外部Tomcat目录中读取可重载的xml文件

先决条件 Apache Tomcat 7 spring3.2.11.RELEASE Apache Camel 2.14.1 我的Web应用程序像往常一样部署在$ {catalina.home} / webapps /中 要求 读取放在war-Archive之外的 xml文件(例如来自$ {catalina.home} / myfolder /) xml文件应该是可重新加载的 。 因此,如果xml更改,我的Web应用程序中应该可以使用新的xml文件 应将xml文件映射到Java-Objects 第一次尝试 我已经通过tomcat在catalina.home /conf/catalina.properties中将文件添加到classpath: common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/myfolder/ 该文件放在这里:$ {catalina.home} /myfolder/myFile.xml 读取和映射文件到Java-Objects通过apache camel中的计时器工作。 from(“timer://myTimer?fixedRate=true&period=20000”) .setBody(simple(“resource:classpath:myFile.xml”)) .unmarshal(myFileJaxbDataFormat) .process(myFileTimerProcessor); myFileTimerProcessor获取映射的对象并将其存储到Spring-Bean。 其他Camel-Routes使用此Bean来访问xml文件中包含的Data。 问题 正如Claus Ibsen在下面提到的,问题是ClassLoader缓存了文件。 因此,如果文件中的数据已更改,则不会再次读取该文件。 如果文件$ {catalina.home} /myfolder/myFile.xml发生更改,则应再次读取该文件,并且新值应该可供计时器使用,以便它可以读取应用程序的新值。 是否有可能在war-Archive之外读取xml文件并在内容发生变化时重新加载? 是否有更常见的警惕? 提前致谢。 问候, 马克斯 编辑1:我重新调整了问题,不仅要问具体细节。

Camel + Jackson:为所有反序列化注册一个模块

我正在使用Camel作为我的应用程序,消息作为JSON进入路由。 我使用JACKSON作为我的反序列化器。 我有一个案例,我需要一个自定义序列化器/反序列化器来处理我的一条消息。 我想要做的是为键注册自定义序列化器/解串器。 在Camel中,如何在我的路线中编组/取消编组时,如何确保序列化器/解串器可用?

返回基础知识:Apache Camel路由和直接组件

我对Camel路线及其两个端点感到困惑:Direct和Seda。 好吧,假设我有这样一条路线: public void configure() { from(“direct:services”) .process(//Some processing here) .to(“http://ThirdPartyServers”) } 除此之外,我有一个restWeb服务,它接收多个请求,进行一些处理,然后将消息移交给此路由以从某些第三方服务器获得响应。 我通过Spring框架实例化了Camel Context,如下所示: 现在的问题是,我立即向这条路线发送了多条不同的消息。 现在Camel文档说直接组件在单线程中调用并且是同步的。 那么所有的消息会同时处理还是一个接一个的处理会发生? 此外,如果我将直接组件更改为seda,它会有任何区别吗? TIA 更新[在Petter的回答之后] :尽管Petter的回答已经澄清,但我对同样的Direct和Seda组件有了新的疑问。 让我们说我的路线现在是这样的: public void configure(){ from(“direct:services”) .choice() .when(“some predicate here-Predicate1”) .to(“seda:predicate1”) .otherwise() .to(“seda:fallback”) .end(); from(“seda:predicate1”) .process(“some processing”) .to(“http://ThirdPartyServers”); from(“seda:fallback”) .process(“some processing”) .to(“jms:fallbackqueue”); } 现在,如果我向不同线程的直接组件发送5条消息,那么这些消息将同时处理。 正如您在上面的路由中看到的,直接组件将消息发送到seda组件。 那么现在只有一个seda组件的线程将处理所有不同的5条消息? 最后的含义是什么消息将被逐个处理?