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

ApacheCamel-SedaEndpoint

邹曦之
2023-03-14

我正在尝试向异步路由发送消息,但它不起作用。我刚刚在github上创建了一个项目来模拟这个问题

@SpringBootApplication
public class SedaQueueApplication implements CommandLineRunner {

@Autowired
@EndpointInject(uri = "direct://direct-queue")
ProducerTemplate producerTemplate;

public static void main(String[] args) {
    SpringApplication.run(SedaQueueApplication.class, args);
}

@Override
public void run(String... strings) throws Exception {
    producerTemplate.sendBody("Teste Direct - Async");
}

@Component
class Router extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("direct://direct-queue").routeId("toAsync").to("seda://async-queue?size=100");

        from("seda://async-queue").routeId("toLog").log("${body}");
    }
}

共有1个答案

穆高澹
2023-03-14
  1. 你有两条路线。在您指定的路线之一中seda://async-queue和其他seda://async-queue?size=100保持一致,即将“大小”属性添加到第一条路线或从第二条路线删除。它会像桃子一样工作
  2. 原因是(不确定这是否是camel代码中的错误),在SedaComponent::getOrCreateQueue中,他们也在比较size属性。因此,如果size属性(如果存在)与doeśn不匹配,则会出现异常

希望这有所帮助。

 类似资料:
  • 我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A

  • 我有一个restendpoint示例。org,返回表单的json响应 我的路线是这样的 我读过关于轮询消费者的内容,但找不到如何继续轮询endpoint的示例,直到它返回“success”响应。 是否应该使用轮询消费者?如果是这样的话,可以举一个与我的案例相关的例子。用于轮询restendpoint的任何其他资源都非常有用。

  • 我试图在聚合器完成后获得一个回复,但是我得到一个异常,我没有指定任何聚合器子项,但是当我指定一个。to()endpoint我没有收到聚合结果。。。这可能吗? 控制器: 聚合器:

  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 我从基于apache-camel-spark的rest接口获得一个json数组作为输入。开始时,我想通过apache camels路线分割json-array来处理每个元素。我该怎么做? 我的测试输入json: 对于这个问题,我在stackoverflow上找到了一些间接描述的问题: link 1, link 2, link 3。 根据这些示例,我尝试了以下骆驼路线: 当我这样做时,我总是得到以下

  • Apache Camel:2.12.2,activemq:5.7 我们注意到,在下面的路由中,对于前100次交换,节流工作正常。此后,它不是每秒发送100次交换,而是每秒仅发送1次交换。现在,如果我们将timePeriodMillis设置为100,它似乎可以正常工作。注意,我们同时发送500个交换。