Meine Kamelroute ist unten angegeben
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring" >
<route>
<from uri="bean:SendClass?method=send" />
<to uri="jms:MyQueue" pattern="InOnly" />
</route>
<route>
<from uri="jms:MyQueue" />
<to uri="bean:recvClass?method=recv" />
</route>
</camelContext>
Die Sendemethode sendet Nachrichten, wenn sie von einem 3rd-Party-Pojo in unregelmäßigen Abständen aktiviert wird, aber das Problem, das ich denke, ist, dass Camel die Routen neu startet das Problem ist, dass Camel die Routen neu startet, sobald die Nachricht von der recv bean empfangen wurde und die gleiche Nachricht erneut sendet (hunderte von ihnen in einer Sekunde). Idealerweise möchte ich, dass es die Nachricht sendet, wenn die Sendemethode aktiviert wird und eine neue Nachricht erstellt wurde (d.h. die JMS-Warteschlange sollte eindeutige Nachrichten haben). wie mache ich das?
mögliche Lösungen sind:
- Gibt es ein Attribut, das ich innerhalb der
<from.../>
um dies zu tun? - einen Prozessor schreiben, der eindeutige Nachrichten zwischen der Sende-Bohne und der Warteschlange filtert.
- Gibt es eine andere Möglichkeit der Weiterleitung ohne Verwendung der
<from uri="bean:..." />
danke sanre6