gpt4 book ai didi

java - Apache Camel : filter/throttle to take just the first message from a queue

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:53 25 4
gpt4 key购买 nike

从队列中获取第一条消息的最简单方法是什么?

鉴于我在 header 中看不到任何可以过滤的内容(没有序列号等,至少据我所知),还有比这更好的吗?

from("webspheremq:topic:SNAPSHOTS")
.throttle(1).timePeriodMillis(1234567890L * 1000)
.to("direct:anotherqueue")

比起 beans + java 代码更喜欢 Camel DSL :)

编辑

实际上是从 webspheremq 主题中读取的。

编辑2

不要使用Long.MAX_VALUE作为时间段!尝试改为 1234567890L * 1000

最佳答案

您可以尝试使用保持优先状态的单例进行过滤:

public static class FirstOrNot {
private static FirstOrNot _instance;

public synchronized boolean isfirst() {
if ( _instance == null ) {
_instance = new FirstOrNot();
return true;
}
return false;
}
}

FirstOrNot first = new FirstOrNot();

from("webspheremq:topic:SNAPSHOTS")
.filter().method( first , "isFirst" )
.to("direct:anotherqueue")

也许您可以以此为起点。

干杯,

关于java - Apache Camel : filter/throttle to take just the first message from a queue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com