We are testing ActiveMQ 5.9 with Oracle JDK 1.7.
We created a embedded broker with persistent set to false with a single
queue.
We gave it two transportConnectors
openwire with a
uri="tcp://0.0.0.0:61616?maximumConnections=1000橪;wireFormat.maxFrameSize=104857600"
vm with a uri="vm://localhost"
We have a producer sending messages (50 messages per second) to the queue
using the openwire transport over a vpn connection.
The producer is using the following
url=failover:(tcp://192.168.100.63:61616)?jms.alwaysSyncSend=true
We have a single consumer using the vm transport with a MessageListener that
just logs that we received a message.
The consumer is using the following url=vm://localhost
We then have a script that cycles the vpn connection by having the vpn up
for a minute then down for a minute
After about 10-15 minutes we will see in the broker logs
Transport - Transport Connection to: tcp://192.168.100.22:36705 failed:
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too (>30000) long: tcp://192.168.100.22:36705
Once we see that error in the logs the consumer stops receiving messages and
the queue starts to grow when the producer reconnects and starts sending
data again.
The consumer code has a Catch Throwable around all the code to try to catch
any exceptions. I have also removed my own simple message consumer and tried
a Camel JMS Consumer and it hangs the same as my message consumer.
I am using JConsole to watch the queue grow and see the consumer count are
at 1 and producer count changes from 0 to 1 depending on if the vpn is up or
not.
So is there anything else I can look at to see why the consumer is not
receiving messages?
Thanks,
Eric
We created a embedded broker with persistent set to false with a single
queue.
We gave it two transportConnectors
openwire with a
uri="tcp://0.0.0.0:61616?maximumConnections=1000橪;wireFormat.maxFrameSize=104857600"
vm with a uri="vm://localhost"
We have a producer sending messages (50 messages per second) to the queue
using the openwire transport over a vpn connection.
The producer is using the following
url=failover:(tcp://192.168.100.63:61616)?jms.alwaysSyncSend=true
We have a single consumer using the vm transport with a MessageListener that
just logs that we received a message.
The consumer is using the following url=vm://localhost
We then have a script that cycles the vpn connection by having the vpn up
for a minute then down for a minute
After about 10-15 minutes we will see in the broker logs
Transport - Transport Connection to: tcp://192.168.100.22:36705 failed:
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too (>30000) long: tcp://192.168.100.22:36705
Once we see that error in the logs the consumer stops receiving messages and
the queue starts to grow when the producer reconnects and starts sending
data again.
The consumer code has a Catch Throwable around all the code to try to catch
any exceptions. I have also removed my own simple message consumer and tried
a Camel JMS Consumer and it hangs the same as my message consumer.
I am using JConsole to watch the queue grow and see the consumer count are
at 1 and producer count changes from 0 to 1 depending on if the vpn is up or
not.
So is there anything else I can look at to see why the consumer is not
receiving messages?
Thanks,
Eric