You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Andrei Gheorghe (JIRA)" <ji...@apache.org> on 2014/01/27 15:55:37 UTC
[jira] [Created] (AMQCPP-532) Frequently deleting queue browser
causes access violation
Andrei Gheorghe created AMQCPP-532:
--------------------------------------
Summary: Frequently deleting queue browser causes access violation
Key: AMQCPP-532
URL: https://issues.apache.org/jira/browse/AMQCPP-532
Project: ActiveMQ C++ Client
Issue Type: Bug
Affects Versions: 3.8.2
Environment: Windows
Reporter: Andrei Gheorghe
Assignee: Timothy Bish
The following code should reproduce this issue :
#include <activemq/library/ActiveMQCPP.h>
#include <activemq/core/ActiveMQConnectionFactory.h>
#include <activemq/commands/ActiveMQQueue.h>
using namespace cms;
int main()
{
try
{
activemq::library::ActiveMQCPP::initializeLibrary();
activemq::core::ActiveMQConnectionFactory connectionFactory( "tcp://localhost:61616" );
auto connection = connectionFactory.createConnection();
connection->start();
auto session = connection->createSession( Session::SESSION_TRANSACTED );
activemq::commands::ActiveMQQueue queue( "testqueue" ); //sometimes it doesn't crash if the queue is empty so it should have atleast a message
while ( 1 )
{
auto queueBrowser = session->createBrowser( &queue, "" );
auto enumeration = queueBrowser->getEnumeration();
if ( enumeration->hasMoreMessages() )
auto message = enumeration->nextMessage();
delete queueBrowser;
}
}
catch ( const std::exception& e )
{
std::string what = e.what(); //sometimes it throws an exception like "Monitor is still in use!"
}
while ( 1 ) {} //wait, sometimes an activemq thread fails
}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)