ActiveMQ message consumer waiting for receive to complete is not closing...
---------------------------------------------------------------------------
Key: AMQCPP-188
URL: https://issues.apache.org/activemq/browse/AMQCPP-188
Project: ActiveMQ C++ Client
Issue Type: Bug
Components: CMS Impl
Affects Versions: 2.2
Environment: Windows
Reporter: Rakesh
Assignee: Nathan Mittler
I have a created an application which creates a connection and consumers using
ActiveMQ C++ Client, after running the application consumer is waiting for the
recive to complete. when we shutdown the application we close the connection,
but close call of connection does not notify all the consumers (who is waiting
for the message to be recived).
I have seen in the close method of ActiveMQConsumer after purging all the
messages there is no call to notifyAll on object unconsumedMessages because of
which consumers waiting for the receive does not does not come out of the wait
call, which is causing our application not to shutdown.
we modified the close call the notify all the consumers after purging all the
unconsumed mesages and our application is working fine.
Following is the changes that i have made in ActiveMQConsumer.cpp class
void ActiveMQConsumer::close(){
....
....
// Purge all the pending messages
try{
purgeMessages();
} catch ( ActiveMQException& ex ){
if( !haveException ){
ex.setMark( __FILE__, __LINE__ );
error = ex;
haveException = true;
}
}
//Start of additional code
synchronized( &unconsumedMessages )
{
unconsumedMessages.notifyAll();
}
//End of additional code
....
....
}
can anyone let me know why this has not been done? I think this should be done.
please explain if I am missing something
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.