当前位置: 首页 > 知识库问答 >
问题:

Apache驼峰路由

李胡媚
2023-03-14

关于ApacheCamel的简短问题。我有以下场景,其中我的服务器接收jms消息,然后转换为csv文件,然后插入DB。为此,我有两个bean:

  • xml2csv

我使用路由像:

    <route id="route1" errorHandlerRef="myErrorHandler">
        <from uri="file://{someFolder1}}
            ?...
        <to uri="bean:xml2csv" />
        <log message="transformed to xml file" />
    </route>

    <route id="route2" errorHandlerRef="myErrorHandler">
        <from uri="file://{{someFolder2}}
            ?...
        <to uri="direct:csvOnboardingChannel" />
    </route>

    <route id="csvOnboarding" errorHandlerRef="myErrorHandler">
        <from uri="direct:csvOnboardingChannel" />
        <to uri="bean:insertDB" />
    </route>

当"路由"一个文件从-到,它是移动像一个消息?或者把问题放在不同的地方,ApacheCamel是否获取一个文件,将其包装为消息,并将其路由到bean或组件

我的理解是正确的还是错误的。

共有1个答案

赏育
2023-03-14

是的,你的理解是正确的。Camel读取文件的数据,并通过路由将其作为消息发送到bean。也可能是简单的单一路线,像这样:

<route id="route1" errorHandlerRef="myErrorHandler">
    <from uri="file://{someFolder1}}">
        <to uri="bean:xml2csv" />
        <to uri="bean:insertDB" />
</route>
 类似资料:
  • 我编写了一个应用程序来加载骆驼路线。 我有一个Spring-Camel实例。现在我将加载“模块”来订购我的路线,并有能力通过该模块取消/激活一组路线。 因此,我编写了一个XML文件,并将其解组到Java类中。每个模块现在都是一个Java类。我想在这个Java类中定义骆驼路线。 当我从RouteBuilder扩展Java类时,JAXB不会对其进行编组。 你们中的一些人知道我如何定义我的路由,比如"f

  • 要求:我们在java应用程序中创建一个数据库连接。我们需要在整个Java应用程序上通过相同的连接运行所有语句。问题:一旦在骆驼路由中传递创建的数据源,它显然会创建一个新的连接。 我正在使用一个数据源对象来创建到Oracle数据库的连接。关于这一点,我做了几个陈述。 作为第二部分,我使用为我的骆驼路线创建的数据源 在我的路径中,我使用一个bean来创建一个查询,最终到达我的数据库。 所以在这种情况下

  • 抱歉问了个幼稚的问题,从夸克开始。因为我读到夸克已经支持骆驼,是否可以创建一个JMS路由来向JMS队列发送消息? 我还有一些使用数据库bean映射处理程序(apache公共数据库)的遗留服务。如果我把它们作为夸克的一部分,它们仍然可以部署在GraalVM上吗?

  • 如果这是个愚蠢的问题,请原谅。骆驼洞对我来说是新鲜事,所以我真的没有“全球视野”。我喜欢在camel安装中使用队列。我发现ActiveMQ是一个解决方案,然后偶然发现了两个不同的组件(或uri):ActiveMQ和JMS。 由于ActiveMQ正在实现JMS 1.1,使用这两种URI有什么区别?或者换句话说:我可以同时使用这两种方法吗?如果可以,在哪些情况下应该使用哪一种?

  • 我正在用Spring boot为Camel编写一个测试。下面是测试类的配置 我认为骆驼不应该被启动。但当我运行测试时,它已经开始了。 我注意到CamelSpringBootRunner确实在CamelSpringBootExecutionListener中启动了camel上下文。 如何强制不启动骆驼上下文。

  • 我试图通过驼峰路由将消息放到Weblogic JMS中的队列中。 我的目标是最终配置一个Route以使用来自jms队列的消息,我将早期Route的数据发布到该队列。 这是我的配置: 我的路线如下所示: 我尝试执行此路由时遇到此异常: 我按照以下过程创建了此处提到的队列:https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simpl