git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: concurrentConsumers create duplicated messages and fail


up

Le mar. 16 oct. 2018 à 16:40, Damien Nicolas <dmn.nicolas@xxxxxxxxx> a
écrit :

> Hello,
>
> I have a Springboot war with Camel routes deployed on a JBoss EAP 7.1
> server. The routes are generated dynamically and some of them have *concurrentConsumers
> > 1* because a route can have several times the same processor;
>
> example (here a schematically representation of a route):
> cxf -> jmsx -> jms1 -> p1 -> jms2 -> p2 -> jms1 -> p1 -> jms3 -> p3...
>
> where jms1 will have* concurrentConsumers=2 *cause it use two times p1.
> This is working wonderfully.
>
> But, for architectural purpose, I had to split the application in 2. Each
> half of the application is on a different JBoss server, schematized here:
>
> *JBoss1     |  JBoss2*
> *cxf     -> |   jmsx -> jms1 -> p1 -> jms2 -> p2 -> jms1 -> p1 -> jms3 ->
> p3... *
>
>  "jmsx" is a remote queue which is the link between the two servers, and
> is used to "inject" messages into the Camel business. The messages are
> correctly consumed by Camel, but when they arrived on a part where *
> concurrentConsumer=n*, the messages are duplicated n times and make the
> workflow fails.
>
> The messages are created on JBoss1 with JMS:
>
>             Session s = connectionFactory.createConnection("test3", "test3").createSession();
>             ObjectMessage m = s.createObjectMessage();
>             m.setObject(object);
>             m.setStringProperty("Accept", "application/json");
>             m.setStringProperty("Content_Type", "application/json");
>             m.setStringProperty("type", "chip");
>             m.setStringProperty("hasCertificate", "true");
>             m.setStringProperty("priority", "NORMAL");
>             m.setStringProperty("context", "xxx");
>
>             try (JMSContext context = connectionFactory.createContext(userName, password)) {
>                     context.createProducer().send(destination, m);
> .......
>
>
> Is the problem comes about the fact there is less header properties
> generated when I create manually the headers?? or something else???
> Here is the difference between the header properties of the first version
> of the project and the second one <https://pastebin.com/qvahstrq>
>
>
> --
> Damien NICOLAS
>


-- 
Damien NICOLAS