With individual acknowledgement, if you don't acknowledge the message it
will be kept on the broker and tracked until you either acknowledge it or
close the consumer.  If you close the consumer it should be redelivered to
another consumer.

With transactions you need to explicitly call commit or rollback.  If you
call commit on the consumer the message or messages will be acknowledged.
If you call rollback, then the message or messages that were received since
the last call of commit will be redelivered.

Here is some info on how transactions work:
http://activemq.apache.org/how-do-transactions-work.html


On Mon, Jun 15, 2015 at 4:50 AM, spam trap <
nospam.1.friedbad...@spamgourmet.com> wrote:

> On Fri, 12 Jun 2015 16:08:05 -0600, Tim Bain
> <tb...@alumni.duke.edu> wrote:
>
> Just to be 100% clear what should the behaviour be if I use
> INDIVIDUAL_ACKNOWLEDGE (vs SESSION_TRANSACTED) and have not
> acknowledged the message?
>
> >It sounds like you can reproduce this reliably; can you submit a bug
> report
> >in JIRA and attach the client code and broker config that produce the
> >behavior?  (The simpler the better; do your best to cut out anything that
> >isn't necessary to show the problem.)
> >
> >If you want to trace the code yourself and figure out why it's doing what
> >it's doing, that would be great (and it'll be the fastest way to get
> >yourself a fix).  If not, you'll wait till someone feels like
> >investigating, whoever and whenever that might be.
> >On Jun 12, 2015 7:20 AM, "spamtrap" <nospam.1.friedbad...@spamgourmet.com
> >
> >wrote:
> >
> >> On Fri, 12 Jun 2015 06:56:42 -0600, Tim Bain
> >> <tb...@alumni.duke.edu> wrote:
> >>
> >> I was calling session.start() after calling session.stop().
> >>
> >> If I change it to deleting and re-creating a session object the
> >> message still disappears, but this time when I re-create the consumer
> >> object (i.e. not when the session starts).
> >>
> >> >Does restarting the session mean creating a new session object, or
> calling
> >> >start() on the current one after calling stop()?  Is the behavior the
> same
> >> >if you do it the other way?
> >> >On Jun 12, 2015 4:30 AM, "spamtrap" <
> nospam.1.friedbad...@spamgourmet.com
> >> >
> >> >wrote:
> >> >
> >> >> On Thu, 11 Jun 2015 14:01:16 -0600, Tim Bain
> >> >> <tb...@alumni.duke.edu> wrote:
> >> >>
> >> >> >Confirm that step by step.  Are the messages still on the broker
> when
> >> the
> >> >> >transaction rolls back?  Are they still on the broker when the
> client
> >> >> >disconnects?  Wherever you lose them, the previous step is the one
> to
> >> >> >investigate.
> >> >>
> >> >> I've now done this.  The message is still there when the transaction
> >> >> rolls and and the broker disconnects.  It is still there when the
> >> >> client disconnects.  It is still there when I create a new consumer.
> >> >> It 'disappears' when I restart the session.  In the broker log I can
> >> >> see an Acknowledgement at this time, but it wasn't done by me.
> >> >>
> >> >>
> >> >>
> >>
> >>
> >>
>
>

Reply via email to