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.
-
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