I'm not too familiar with the NMS libs... but for the Java JMS impl,
you would just throw an exception + combine with the redelivery policy
(eg, disable redelivery?) and that would send back the "poison pill"
or "nack"

On Thu, Nov 14, 2013 at 6:42 AM, jlpedrosa <jlpedr...@gmail.com> wrote:
> Hi All,We are coding an application to process events in a queue. We are
> using NMS - ActiveMQ 1.6.
> In my mental model the best transactionality comes with:
> IndividualAcknowledge.
> If the proccess goes OK, the message is acknoledge, up to there no problem.
> But message has no rollback/nack method. So I don't really know how to
> perform that patter. Should I open a session per message? (As I want
> multiple threads running at the same time, sequential is not an option).
> somthing like:
> /IMessage m = messageListener.GetMessage();
> ThreadPool.QueueUserWorkItem(new WaitCallback(this.DispatchMessage), m);
> /
> /public void DispatchMessage(Object messageToDispatch)
>         {
>             IMessage m = messageToDispatch as IMessage;
>
>             try
>             {
>                 //Convert to Event.
>                 Event ev = UnMarshallMessage(m); --> not relevant code
>                 //Create an instance of the executor
>                 EventProccessor executor =
> Activator.CreateInstance(ExecutorType) as EventProccessor ;
>                 //Invoke the executor
>                 executor.ProcessEvent(ev);
>                 //commit the message
>                 m.Acknowledge();
>             }
>             catch (Exception ex)
>             {
>                 log.Error("Error processing the message", ex);
>                 m.Rollback() --> does not exist
>             }
> }/
> Thanks in advance for any suggestion,
> Jose Luis
>
>
>
>
> --
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/Rollback-NACK-a-single-message-tp4674444.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to