【问题标题】:custom bean camel data自定义豆骆驼数据
【发布时间】:2018-03-22 13:42:11
【问题描述】:

如何使用自定义 bean 作为骆驼中的生产者端点,然后将其连接到处理 bean 或/和消费者 bean。

例如,我想使用其中一个 bean 方法来使用数据库中的数据,然后将结果传递给同一 bean 的另一个方法或另一个 bean 来处理数据,然后传递给 jms 队列。

我想做类似以下的事情,但流程永远不会转到 patstat 服务

public void configure() throws Exception {
        from("direct:start").bean("patstatService", "getTestData")
        .bean("patstatExtractorAutmn","generatRSSFromData")
        .to("activemq:patstat:test");
    }

【问题讨论】:

  • 1.你在向direct:start 推送一些东西吗? 2.你有一个名为patstatService的bean吗?
  • 花更多时间学习 Camel 并研究示例。消费者的直接端点默认什么都不做。您需要从另一条路线或通过ProducerTemplate 之类的方式向其发送消息。

标签: apache-camel spring-camel


【解决方案1】:

我找不到直接食用 bean 的方法。 对于我的用例调度,每秒从 bean 消费可能会起作用。所以现在下面的工作,但我希望有一种方法可以直接从 bean 中消费,因为这是一个有效的用例,在我看来非常有用。

public void configure() throws Exception {
         from("timer:patstat?period=1s").bean("patstatService", "getTestData")
        .bean("patstatExtractorAutmn","generatRSSFromData")
        .to("activemq:patstat:test");
    }

【讨论】:

    【解决方案2】:

    另一种解决方案是在路由启动时只调用一次 bean,并将处理逻辑放入 bean 中,如下所示:

    from("timer:patstat?repeatCount=1").threads().bean("patstatService", "getData").routeId(""+startYear);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      相关资源
      最近更新 更多