You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2010/06/03 17:51:18 UTC

svn commit: r951042 - in /activemq/activemq-cpp/trunk/activemq-cpp/src: main/activemq/core/ActiveMQConnection.cpp main/activemq/core/ActiveMQConnection.h main/activemq/core/ActiveMQSession.cpp test/testRegistry.cpp

Author: tabish
Date: Thu Jun  3 15:51:18 2010
New Revision: 951042

URL: http://svn.apache.org/viewvc?rev=951042&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQCPP-293

Update session to use the dispatchAsync setting in the Connection when it creates the Consumers.  Move the Mutex object in ActiveMQConnection.h into the d-pointer class in ActiveMQConnection.cpp since its not needed in the header.

Updated test registry with new IdGenerator tests.

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp
    activemq/activemq-cpp/trunk/activemq-cpp/src/test/testRegistry.cpp

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp?rev=951042&r1=951041&r2=951042&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.cpp Thu Jun  3 15:51:18 2010
@@ -96,7 +96,9 @@ namespace core{
         bool clientIDSet;
         bool isConnectionInfoSentToBroker;
         bool userSpecifiedClientID;
+
         decaf::util::concurrent::Mutex ensureConnectionInfoSentMutex;
+        decaf::util::concurrent::Mutex mutex;
 
         bool dispatchAsync;
         bool alwaysSyncSend;
@@ -891,7 +893,7 @@ void ActiveMQConnection::waitForTranspor
 ////////////////////////////////////////////////////////////////////////////////
 void ActiveMQConnection::setTransportInterruptionProcessingComplete() {
 
-    synchronized( &mutex ) {
+    synchronized( &( this->config->mutex ) ) {
 
         if( this->config->transportInterruptionProcessingComplete != NULL ) {
             this->config->transportInterruptionProcessingComplete->countDown();
@@ -908,7 +910,7 @@ void ActiveMQConnection::signalInterrupt
     throw( decaf::lang::exceptions::InterruptedException ) {
 
     if( this->config->transportInterruptionProcessingComplete->await( 0, TimeUnit::SECONDS ) ) {
-        synchronized( &mutex ) {
+        synchronized( &( this->config->mutex ) ) {
 
             this->config->transportInterruptionProcessingComplete.reset( NULL );
             FailoverTransport* failoverTransport =

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h?rev=951042&r1=951041&r2=951042&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQConnection.h Thu Jun  3 15:51:18 2010
@@ -73,11 +73,6 @@ namespace core{
         ConnectionConfig* config;
 
         /**
-         * Sync object.
-         */
-        decaf::util::concurrent::Mutex mutex;
-
-        /**
          * The instance of ConnectionMetaData to return to clients.
          */
         std::auto_ptr<cms::ConnectionMetaData> connectionMetaData;

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp?rev=951042&r1=951041&r2=951042&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/activemq/core/ActiveMQSession.cpp Thu Jun  3 15:51:18 2010
@@ -321,7 +321,7 @@ cms::MessageConsumer* ActiveMQSession::c
         std::auto_ptr<ActiveMQConsumer> consumer(
             new ActiveMQConsumer( this, this->getNextConsumerId(),
                                   dest, "", selector, 1000, 0, noLocal,
-                                  false, false, NULL ) );
+                                  false, this->connection->isDispatchAsync(), NULL ) );
 
         try{
             this->addConsumer( consumer.get() );
@@ -369,7 +369,7 @@ cms::MessageConsumer* ActiveMQSession::c
         std::auto_ptr<ActiveMQConsumer> consumer(
             new ActiveMQConsumer( this, this->getNextConsumerId(),
                                   dest, name, selector, 1000, 0, noLocal,
-                                  false, false, NULL ) );
+                                  false, this->connection->isDispatchAsync(), NULL ) );
 
         try{
             this->addConsumer( consumer.get() );

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/testRegistry.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/testRegistry.cpp?rev=951042&r1=951041&r2=951042&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/testRegistry.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/testRegistry.cpp Thu Jun  3 15:51:18 2010
@@ -111,6 +111,8 @@ CPPUNIT_TEST_SUITE_REGISTRATION( activem
 #include <activemq/exceptions/ActiveMQExceptionTest.h>
 CPPUNIT_TEST_SUITE_REGISTRATION( activemq::exceptions::ActiveMQExceptionTest );
 
+#include <activemq/util/IdGeneratorTest.h>
+CPPUNIT_TEST_SUITE_REGISTRATION( activemq::util::IdGeneratorTest );
 #include <activemq/util/LongSequenceGeneratorTest.h>
 CPPUNIT_TEST_SUITE_REGISTRATION( activemq::util::LongSequenceGeneratorTest );
 #include <activemq/util/PrimitiveValueNodeTest.h>