We are occasionally getting negative pending queue counts using ActiveMQ
v5.1. We're using jms.useAsyncSend=true, jms.prefetchPolicy.queuePrefetch=0,
and we're running tens of thousands to hundreds of thousands of messages
through an hour at top capacity. Ended up running across this ticket
https:
What will happen if a Session is transacted via JMS Transactions, and there
is some kind of network hiccup that causes the Connection to be lost/reset.
Will the transaction automatically be rolled back? Do I need to call
rollback on the new Session?
If the broker goes down (shutdown, or JVM term
I think that would be specifying jms.prefetchPolicy.queuePrefetch=0 as part
of your connection string. This turns off the Consumer prefetch queue that
you seem to be talking about. It can impact performance though. See
http://activemq.apache.org/what-is-the-prefetch-limit-for.html
Geoffrey Arno
I'm working on some code to check Exceptions to see if it was a connection
problem, and if so, loop and try and get a new connection in order to
re-connect and continue publishing messages after the broker comes back up.
I'm using an org.apache.activemq.pool.PooledConnectionFactory, with the
MaxCo
5.3 seems like it is going to be a good release, but then we're not using a
cluster at this time so I don't know about any of those pains. I agree
though, the documentation in general seems to be fairly hit or miss, and
even when it is there it isn't always very informative.
The hang on shutdown
xbryan wrote:
>
> On the ActiveMQ pages, it states that "When using Spring JMS and
> MessageDrivenPojo, you cannot use a prefetch of 0, so use 1 instead."
> http://activemq.apache.org/what-is-the-prefetch-limit-for.html
>
> Is this old information? There seems to be a fair bit of old informati
I'll have to see if that trick works. We solved it by setting useAsyncSend =
true. We also turned off the persistent data store (kahadb) because somehow
we were getting a few messages caught in there that weren't being delivered.
Maybe using the data store plus useCache=false would work. Its hard
I'm using a large number of consumers (>20) for a single queue in my
application, and at times of high volume it appears somehow that the number
of pending messages count goes negative, and the messages received number is
higher than the messages sent number. Which obviously explains the negative
I am getting JMSExceptions caused by EOFExceptions as shown by the stack
trace below. I don't really know why it is occurring, can't can't reliably
produce the exception, but it does occur frequently. Can anyone point me to
where in my code I should look to correct this problem? Or if it is a
conf