Recovery of JMS message listener fails with "invalid stream header" #453
Replies: 2 comments 6 replies
-
It's hard to tell what's wrong with this amount of information. Please provide a standalone project that reproduces the problem, maybe by faking a long processing time (more than 2 seconds, as you mentioned). Note the default timeout for processing is 2 seconds, you can increase it with |
Beta Was this translation helpful? Give feedback.
-
Hi Arnaud, I'm sorry, I don't want to annoy you, but I'm not sure if I get right what you want me to provide. I've tried to create a simple Java project, containing the RabbitMQ JMS client and a Consumer that helps to reproduce the issue. Is that what you meant? As for the Producer: I am not sure in what way it might help to create a dummy producer in the standalone project as my actual producer in my productive environment uses a completly different way to produce messages. (As far as I know) I have no influence on this behaviour or any properties which might need to be set when the message is sent. As for the Consumer: when I try to pause the message processing by using "Tread.sleep" I only get an InterruptException saying "sleep interrupted" - that's not what I see on my productive system :( I'am currently a little bit lost on how I can provide you more information on this issue :( |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everybody,
I could need somebody who can point me into the right direction with this issue.
I get the following two lines of messages
WARN o.s.j.l.DefaultMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'my-queue' - trying to recover. Cause: invalid stream header: 7B226D65
INFO o.s.j.l.DefaultMessageListenerContainer - Successfully refreshed JMS Connection
I've installed RabbitMQ 3.13.2 on Erlang 26.2.5 on Windows about a month ago. I have several producers sending MQTT messages to RabbitMQ and a binding that brings the incoming messages to 'my-queue'. The consumer is a Java service which consumes the messages via JMS and saves the content to the database. Previously I used ActiveMQ - that's why JMS is used here.
When I deploy the application everything runs fine. All messages are consumed. I cannot say when this situation started to appear (maybe a week ago) but at some point this setup suddenly showed a weird behaviour and I cannot directly reproduce it - from time to time the setup stops working with above messages. Logging shows me that some seconds befor this happens the DB actions suddenly last >2000ms (in normal cases it's between 10 - 40ms). After that the client isn't aible to recovery from this and the service get's stuck in the above mentioned loop (trying to recover... successfully refreshed... trying to recover...).
I already found this discussion: https://groups.google.com/g/rabbitmq-users/c/Zbcp9WL-vUM
My destination is configured like it's mentioned in the discussion:
What else can I do to get it working? I'm really stuck and would appreciate any help 🙏
Beta Was this translation helpful? Give feedback.
All reactions