Ben küçük Deve güzergahları var Deve uçbirimindaki Ölü-Sırası'na süresi dolmuş mesaj göndermek için değil hangi böyle bir son kullanma süresi ile başka kuyruğuna sadece ileriye mesajları: ihtiyacımKurulum kuyruk politikası
@Override
public void configure() throws Exception {
defaultOnException();
// Route all messages generated by system A (in OUTBOUND_A) to system B (INBOUND_B)
// @formatter:off
from("activemq:queue:OUTBOUND_A")
// ASpecificProcessor transform the coming message to another one.
.processor(new ASpecificProcessor())
.to("activemq:INBOUND_B?explicitQosEnabled=true&timeToLive={{b.inbound.message.ttl}}");
// @formatter:on
}
Kalıcı olmak için INBOUND_B
'da gönderilen iletiler ve süresi dolan mesajın süresi dolduğunda, ActiveMQ.DLQ
kuyruğuna gider.
ben
<policyEntry queue="INBOUND_B">
<!--
Tell the dead letter strategy not to process expired messages
so that they will just be discarded instead of being sent to
the DLQ
-->
<deadLetterStrategy>
<sharedDeadLetterStrategy processExpired="false" />
</deadLetterStrategy>
</policyEntry>
ile conf/activemq.xml
yılında ActiveMQ yapılandırmasını değiştirebilirler biliyorum Ama (yeniden başlatılması gerekiyor çünkü) Ben ActiveMQ yapılandırmasını değiştirmek için tercih ediyorum ve onu göndermek mümkün olup olmadığını merak ediyorum Deve uç nokta yapılandırması aracılığıyla bu tür bir politika? Hayır, ActiveMQ aracı taraf yapılandırması istemciden güncellenemez, bu da her türlü güvenlik sorununa yol açabilir.
Belki de kirli bir çözüm olarak, DLQ'nuzdan tüketen küçük bir rotaya dönüşebilir ve sonra bunları kaydeder misiniz? –
Pek değil, çünkü aynı türde bir mesaj (aynı gövde ve başlıklar), DLQ'da kalmasını gerçekten istediğim başka bir sıraya gönderilebilir. DLQ mesajından hangi kuyruğun süresinin dolduğunu göremiyorum. –
Kirli çözümle devam ederken, mesajın nereden geldiğini görebilir ve yalnızca uygun gördüğünüz ürünleri tüketebilirsiniz. Buna JMS Seçici adı verilir: ("activemq: DLQ? Selector =" + java.net.URLEncoder.encode ("HEADER = 'VALUE'", "UTF-8")) - ("log: disard") ; –