I'm finding the documentation for usePrefetchExtension to be rather lacking
What exactly does it do?
The documentation says:
> the prefetch extension is used when a message is delivered but not acked,
such that the broker can dispatch another message (e.g., prefetch == 0),
the idea being that there will always be prefetch num messages pending. It
also allows a transaction batch to exceed the prefetch value.
What I want to do is figure out a way for the broker to NOT send another
message into the prefetch until the session I'm onhas either commit() or
rollback().
This way I am not sitting on a message doing nothing with it...
We're using normal transacted sessions.. AKA:
Session session = connection.createSession( true,
Session.SESSION_TRANSACTED );
I *think* what is supposed to happen, is that normally, it extends the
prefetch to be the number of messages read but unacknowledged PLUS the
prefetch value.
I would assume that if I disabled it and I haven't yet called session
commit that I shouldn't get prefetched values.
But that doesn't appear to be the case. If I use a MessageListener or just
manually receive I get a new MessageDispatch event after I receive the
message.
--
We’re hiring if you know of any awesome Java Devops or Linux Operations
Engineers!
Founder/CEO Spinn3r.com
Location: *San Francisco, CA*
blog: http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>