You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2011/08/20 23:14:53 UTC
[jira] [Commented] (AMQ-3423) How to reattempt individual message
[ https://issues.apache.org/jira/browse/AMQ-3423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13088271#comment-13088271 ]
Timothy Bish commented on AMQ-3423:
-----------------------------------
Best way to show the presence of an issue is to create a JUnit test case that demonstrates the problem.
> How to reattempt individual message
> -----------------------------------
>
> Key: AMQ-3423
> URL: https://issues.apache.org/jira/browse/AMQ-3423
> Project: ActiveMQ
> Issue Type: Task
> Environment: Linux
> Reporter: srikanth reddy
>
> Hi,
> I am implementing ActiveMQ Middleware using point to point .
> I am facing this issue from last few days
> There are multiple message posted to my activemq and one i start activemq my session starts reading messages.I am using individual message acknowledgement.
> i.e qConnection.createQueueSession(false, ActiveMQSession.INDIVIDUAL_ACKNOWLEDGE);
> Once i receive message in my message listener i am sending message to child thread and processing message there and processing is completed i am sending acknowledgement.
> But problem here is if any exception comes in middle of my message i want to reattempt for that specific message.
> I have tryed session.recover here but its recovering all messages on that session which is wrong
> Please look into my message consumer and listener
> Consumer class outline
> public QueueSession session = null;
>
> public QueueConnection qConnection = null;
> ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
> qConnection = connectionFactory.createQueueConnection();
> session = qConnection.createQueueSession(false, ActiveMQSession.INDIVIDUAL_ACKNOWLEDGE);
> QueueReceiver _receiver =
> session.createReceiver(getTransactionQueue(session));
> _receiver.setMessageListener(getMessageListener());
> public void onMessage(Message message) {
> //starting chaild thread etc
> if(doprocess()){
> session.acknowledge();
> } else {
> //want to roll back particlur message
> }
> }
> Please help me to resolve this issue
> Thanks & Regards
> Srikanth Reddy
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira