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)

Reply via email to