You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2012/03/19 22:05:05 UTC

svn commit: r1302655 - in /qpid/branches/qpid-3890/qpid: ./ cpp/docs/api/ cpp/examples/old_api/tradedemo/ cpp/include/qmf/engine/ cpp/include/qpid/framing/ cpp/src/ cpp/src/qmf/engine/ cpp/src/qpid/acl/ cpp/src/qpid/broker/ cpp/src/qpid/cluster/ cpp/sr...

Author: kgiusti
Date: Mon Mar 19 21:05:01 2012
New Revision: 1302655

URL: http://svn.apache.org/viewvc?rev=1302655&view=rev
Log:
QPID-3890: resync this branch to latest trunk

Added:
    qpid/branches/qpid-3890/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQChannelTest.java
      - copied unchanged from r1302634, qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/AMQChannelTest.java
    qpid/branches/qpid-3890/qpid/java/broker/src/test/java/org/apache/qpid/server/transport/ServerSessionTest.java
      - copied unchanged from r1302634, qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/transport/ServerSessionTest.java
    qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss7-properties.xml
      - copied unchanged from r1302634, qpid/trunk/qpid/java/jca/example/build-jboss7-properties.xml
    qpid/branches/qpid-3890/qpid/java/jca/example/conf/standalone.xml
      - copied unchanged from r1302634, qpid/trunk/qpid/java/jca/example/conf/standalone.xml
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java
      - copied unchanged from r1302634, qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/AsynchMessageListenerTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SynchReceiveTest.java
      - copied unchanged from r1302634, qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/SynchReceiveTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/ra/
      - copied from r1302634, qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/ra/QpidRAConnectionTest.java
      - copied unchanged from r1302634, qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/ra/QpidRAConnectionTest.java
Removed:
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/BodyHandler.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/BodyHandler.h
    qpid/branches/qpid-3890/qpid/cpp/src/tests/amqp_0_10/Map.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/amqp_0_10/ProxyTemplate.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/amqp_0_10/apply.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/amqp_0_10/handlers.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/amqp_0_10/serialize.cpp
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/DispatcherTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerMultiConsumerImmediatePrefetch.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerMultiConsumerTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/ResetMessageListenerTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/basic/ReceiveTest.java
Modified:
    qpid/branches/qpid-3890/qpid/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/docs/api/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/include/qmf/engine/Agent.h   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/include/qmf/engine/Console.h   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/include/qpid/framing/FieldTable.h
    qpid/branches/qpid-3890/qpid/cpp/src/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt   (contents, props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/Makefile.am
    qpid/branches/qpid-3890/qpid/cpp/src/qmf/engine/Agent.cpp   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/acl/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/broker/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/ClusterMap.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/InitialStatusMap.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/UpdateClient.cpp   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/UpdateClient.h   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FieldTable.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FrameSet.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/amqp_framing.h
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/management/ManagementAgent.cpp   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/management/ManagementAgent.h   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/qpid/store/ms-clfs/Transaction.h
    qpid/branches/qpid-3890/qpid/cpp/src/tests/   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/tests/CMakeLists.txt
    qpid/branches/qpid-3890/qpid/cpp/src/tests/Frame.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/Makefile.am
    qpid/branches/qpid-3890/qpid/cpp/src/tests/SessionState.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/cluster_tests.py   (props changed)
    qpid/branches/qpid-3890/qpid/cpp/src/tests/logging.cpp
    qpid/branches/qpid-3890/qpid/cpp/src/tests/ssl_test
    qpid/branches/qpid-3890/qpid/java/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/bin/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfig.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/management/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/BrokerConfigAdapter.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/   (props changed)
    qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
    qpid/branches/qpid-3890/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
    qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss-properties.xml
    qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloListenerBean.java
    qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloSubscriberBean.java
    qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/web/QpidTestServlet.java
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc   (props changed)
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SessionCreateTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java
    qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes   (contents, props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/CPPPrefetchExcludes
    qpid/branches/qpid-3890/qpid/java/test-profiles/Excludes   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/Java010Excludes
    qpid/branches/qpid-3890/qpid/java/test-profiles/JavaBDBExcludes   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes   (contents, props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes   (contents, props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/JavaTransientExcludes   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/XAExcludes   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.async.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.cluster.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.noprefetch.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.ssl.excludes   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.ssl.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-bdb.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-dby.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms.0-9-1.testprofile   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/log4j-test.xml   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/test-provider.properties   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/test_resources/   (props changed)
    qpid/branches/qpid-3890/qpid/java/test-profiles/testprofile.defaults   (props changed)
    qpid/branches/qpid-3890/qpid/packaging/windows/   (props changed)
    qpid/branches/qpid-3890/qpid/python/   (props changed)
    qpid/branches/qpid-3890/qpid/python/examples/api/spout   (props changed)
    qpid/branches/qpid-3890/qpid/python/qpid/concurrency.py   (props changed)
    qpid/branches/qpid-3890/qpid/python/qpid/connection.py
    qpid/branches/qpid-3890/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py   (props changed)

Propchange: qpid/branches/qpid-3890/qpid/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/docs/api/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/docs/api:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/examples/old_api/tradedemo/tradedemo_topic_publisher.vcproj:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/include/qmf/engine/Agent.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/include/qmf/engine/Agent.h:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/include/qmf/engine/Console.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/include/qmf/engine/Console.h:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/include/qpid/framing/FieldTable.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/include/qpid/framing/FieldTable.h?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/include/qpid/framing/FieldTable.h (original)
+++ qpid/branches/qpid-3890/qpid/cpp/include/qpid/framing/FieldTable.h Mon Mar 19 21:05:01 2012
@@ -1,3 +1,6 @@
+#ifndef _FieldTable_
+#define _FieldTable_
+
 /*
  *
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -18,16 +21,17 @@
  * under the License.
  *
  */
-#include <iostream>
-#include <vector>
+
+#include "qpid/framing/amqp_types.h"
+#include "qpid/sys/Mutex.h"
+
 #include <boost/shared_ptr.hpp>
 #include <boost/shared_array.hpp>
+
+#include <iosfwd>
 #include <map>
-#include "qpid/framing/amqp_types.h"
-#include "qpid/CommonImportExport.h"
 
-#ifndef _FieldTable_
-#define _FieldTable_
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
     /**
@@ -114,11 +118,13 @@ class FieldTable
 
   private:
     void realDecode() const;
-    void flushRawCache() const;
+    void flushRawCache();
 
+    mutable qpid::sys::Mutex lock;
     mutable ValueMap values;
     mutable boost::shared_array<uint8_t> cachedBytes;
     mutable uint32_t cachedSize; // if = 0 then non cached size as 0 is not a legal size
+    mutable bool newBytes;
 
     QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
 };

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt Mon Mar 19 21:05:01 2012
@@ -874,7 +874,6 @@ set (qpidcommon_SOURCES
      qpid/framing/AMQHeaderBody.cpp
      qpid/framing/AMQHeartbeatBody.cpp
      qpid/framing/Array.cpp
-     qpid/framing/BodyHandler.cpp
      qpid/framing/Buffer.cpp
      qpid/framing/Endian.cpp
      qpid/framing/FieldTable.cpp

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/CMakeLists.txt
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/CMakeLists.txt:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/Makefile.am?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/Makefile.am (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/Makefile.am Mon Mar 19 21:05:01 2012
@@ -398,8 +398,6 @@ libqpidcommon_la_SOURCES +=			\
   qpid/framing/AccumulatedAck.h			\
   qpid/framing/Array.cpp			\
   qpid/framing/BodyFactory.h			\
-  qpid/framing/BodyHandler.cpp			\
-  qpid/framing/BodyHandler.h			\
   qpid/framing/Buffer.cpp			\
   qpid/framing/ResizableBuffer.h		\
   qpid/framing/ChannelHandler.h			\

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qmf/engine/Agent.cpp
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qmf/engine/Agent.cpp:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/acl/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/acl:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/broker/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/broker:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/ClusterMap.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/ClusterMap.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/ClusterMap.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/ClusterMap.cpp Mon Mar 19 21:05:01 2012
@@ -29,7 +29,8 @@
 #include <ostream>
 
 using namespace std;
-using namespace boost;
+using boost::ref;
+using boost::optional;
 
 namespace qpid {
 using namespace framing;

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/InitialStatusMap.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/InitialStatusMap.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/InitialStatusMap.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/InitialStatusMap.cpp Mon Mar 19 21:05:01 2012
@@ -30,9 +30,9 @@ namespace qpid {
 namespace cluster {
 
 using namespace std;
-using namespace boost;
 using namespace framing::cluster;
 using namespace framing;
+using boost::optional;
 
 InitialStatusMap::InitialStatusMap(const MemberId& self_, size_t size_)
     : self(self_), completed(), resendNeeded(), size(size_)

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/UpdateClient.cpp
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/cluster/UpdateClient.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.h:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FieldTable.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FieldTable.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FieldTable.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FieldTable.cpp Mon Mar 19 21:05:01 2012
@@ -28,22 +28,45 @@
 #include "qpid/Msg.h"
 #include <assert.h>
 
+// The locking rationale in the FieldTable seems a little odd, but it
+// maintains the concurrent guarantees and requirements that were in
+// place before the cachedBytes/cachedSize were added:
+//
+// The FieldTable client code needs to make sure that they call no write
+// operation in parallel with any other operation on the FieldTable.
+// However multiple parallel read operations are safe.
+//
+// To this end the only code that is locked is code that can transparently
+// change the state of the FieldTable during a read only operation.
+// (In other words the code that required the mutable members in the class
+// definition!)
+//
 namespace qpid {
+
+using sys::Mutex;
+using sys::ScopedLock;
+
 namespace framing {
 
 FieldTable::FieldTable() :
-    cachedSize(0)
+    cachedSize(0),
+    newBytes(false)
 {
 }
 
 FieldTable::FieldTable(const FieldTable& ft) :
     cachedBytes(ft.cachedBytes),
-    cachedSize(ft.cachedSize)
+    cachedSize(ft.cachedSize),
+    newBytes(ft.newBytes)
 {
     // Only copy the values if we have no raw data
     // - copying the map is expensive and we can
     //   reconstruct it if necessary from the raw data
-    if (!cachedBytes && !ft.values.empty()) values = ft.values;
+    if (cachedBytes) {
+        newBytes = true;
+        return;
+    }
+    if (!ft.values.empty()) values = ft.values;
 }
 
 FieldTable& FieldTable::operator=(const FieldTable& ft)
@@ -52,10 +75,13 @@ FieldTable& FieldTable::operator=(const 
     values.swap(nft.values);
     cachedBytes.swap(nft.cachedBytes);
     cachedSize = nft.cachedSize;
+    newBytes = nft.newBytes;
     return (*this);
 }
 
 uint32_t FieldTable::encodedSize() const {
+    ScopedLock<Mutex> l(lock);
+
     if (cachedSize != 0) {
         return cachedSize;
     }
@@ -238,6 +264,7 @@ void FieldTable::encode(Buffer& buffer) 
             i->second->encode(buffer);
         }
         // Now create raw bytes in case we are used again
+        ScopedLock<Mutex> l(lock);
         cachedSize = buffer.getPosition() - p;
         cachedBytes = boost::shared_array<uint8_t>(new uint8_t[cachedSize]);
         buffer.setPosition(p);
@@ -261,14 +288,17 @@ void FieldTable::decode(Buffer& buffer){
     // Copy data into our buffer
     cachedBytes = boost::shared_array<uint8_t>(new uint8_t[len + 4]);
     cachedSize = len + 4;
+    newBytes = true;
     buffer.setPosition(p);
     buffer.getRawData(&cachedBytes[0], cachedSize);
 }
 
 void FieldTable::realDecode() const
 {
+    ScopedLock<Mutex> l(lock);
+
     // If we've got no raw data stored up then nothing to do
-    if (!cachedBytes)
+    if (!newBytes)
         return;
 
     Buffer buffer((char*)&cachedBytes[0], cachedSize);
@@ -286,10 +316,13 @@ void FieldTable::realDecode() const
             values[name] = ValuePtr(value);
         }
     }
+    newBytes = false;
 }
 
-void FieldTable::flushRawCache() const
+void FieldTable::flushRawCache()
 {
+    // We can only flush the cache if there are no cached bytes to decode
+    assert(newBytes==false);
     // Avoid recreating shared array unless we actually have one.
     if (cachedBytes) cachedBytes.reset();
     cachedSize = 0;
@@ -319,6 +352,7 @@ void FieldTable::erase(const std::string
 void FieldTable::clear()
 {
     values.clear();
+    newBytes = false;
     flushRawCache();
 }
 

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FrameSet.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FrameSet.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FrameSet.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/FrameSet.cpp Mon Mar 19 21:05:01 2012
@@ -26,7 +26,6 @@
 #include "qpid/framing/TypeFilter.h"
 
 using namespace qpid::framing;
-using namespace boost;
 
 FrameSet::FrameSet(const SequenceNumber& _id) : id(_id),contentSize(0),recalculateSize(true) { }
 FrameSet::FrameSet(const FrameSet& original) : id(original.id), contentSize(0), recalculateSize(true)

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/amqp_framing.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/amqp_framing.h?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/amqp_framing.h (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/framing/amqp_framing.h Mon Mar 19 21:05:01 2012
@@ -21,7 +21,6 @@
 #include "qpid/framing/amqp_types.h"
 #include "qpid/framing/AMQFrame.h"
 #include "qpid/framing/AMQBody.h"
-#include "qpid/framing/BodyHandler.h"
 #include "qpid/framing/AMQMethodBody.h"
 #include "qpid/framing/AMQHeaderBody.h"
 #include "qpid/framing/AMQContentBody.h"

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/management/ManagementAgent.cpp
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/qpid/management/ManagementAgent.h
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/qpid/store/ms-clfs/Transaction.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/qpid/store/ms-clfs/Transaction.h?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/qpid/store/ms-clfs/Transaction.h (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/qpid/store/ms-clfs/Transaction.h Mon Mar 19 21:05:01 2012
@@ -27,6 +27,7 @@
 #include <boost/enable_shared_from_this.hpp>
 #include <boost/shared_ptr.hpp>
 #include <string>
+#include <vector>
 
 #include "TransactionLog.h"
 

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/tests/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/tests:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/CMakeLists.txt?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/CMakeLists.txt (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/CMakeLists.txt Mon Mar 19 21:05:01 2012
@@ -151,13 +151,6 @@ set(unit_tests_to_build
 
 mark_as_advanced(unit_tests_to_build)
 
-# Disabled till we move to amqp_0_10 codec.
-# 	amqp_0_10/serialize.cpp allSegmentTypes.h \
-# 	amqp_0_10/ProxyTemplate.cpp \
-# 	amqp_0_10/apply.cpp \
-# 	amqp_0_10/Map.cpp \
-# 	amqp_0_10/handlers.cpp 
-
 add_executable (unit_test unit_test
                 ${unit_tests_to_build} ${platform_test_additions})
 target_link_libraries (unit_test
@@ -326,7 +319,7 @@ if (BUILD_MSSQL)
   add_test (store_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_store_tests${test_script_suffix} MSSQL)
 endif (BUILD_MSSQL)
 if (BUILD_MSCLFS)
-  add_test (store_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_store_tests${test_script_suffix} MSSQL-CLFS)
+  add_test (store_tests_clfs ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_store_tests${test_script_suffix} MSSQL-CLFS)
 endif (BUILD_MSCLFS)
 endif (PYTHON_EXECUTABLE)
 

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/Frame.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/Frame.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/Frame.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/Frame.cpp Mon Mar 19 21:05:01 2012
@@ -30,7 +30,6 @@ QPID_AUTO_TEST_SUITE(FrameTestSuite)
 
 using namespace std;
 using namespace qpid::framing;
-using namespace boost;
 
 QPID_AUTO_TEST_CASE(testContentBody) {
     Frame f(42, AMQContentBody("foobar"));

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/Makefile.am?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/Makefile.am (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/Makefile.am Mon Mar 19 21:05:01 2012
@@ -352,7 +352,8 @@ EXTRA_DIST +=								\
   run_queue_flow_limit_tests						\
   run_msg_group_tests							\
   ipv6_test								\
-  ha_tests.py
+  ha_tests.py							\
+  test_env.ps1.in
 
 check_LTLIBRARIES += libdlclose_noop.la
 libdlclose_noop_la_LDFLAGS = -module -rpath $(abs_builddir)

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/SessionState.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/SessionState.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/SessionState.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/SessionState.cpp Mon Mar 19 21:05:01 2012
@@ -34,7 +34,6 @@ namespace tests {
 QPID_AUTO_TEST_SUITE(SessionStateTestSuite)
 
 using namespace std;
-using namespace boost;
 using namespace qpid::framing;
 
 // ================================================================

Propchange: qpid/branches/qpid-3890/qpid/cpp/src/tests/cluster_tests.py
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/cpp/src/tests/cluster_tests.py:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/logging.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/logging.cpp?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/logging.cpp (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/logging.cpp Mon Mar 19 21:05:01 2012
@@ -44,8 +44,10 @@ namespace tests {
 QPID_AUTO_TEST_SUITE(loggingTestSuite)
 
 using namespace std;
-using namespace boost;
 using namespace qpid::log;
+using boost::ends_with;
+using boost::contains;
+using boost::format;
 
 QPID_AUTO_TEST_CASE(testStatementInit) {
     Statement s=QPID_LOG_STATEMENT_INIT(debug); int line=__LINE__;

Modified: qpid/branches/qpid-3890/qpid/cpp/src/tests/ssl_test
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/cpp/src/tests/ssl_test?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/cpp/src/tests/ssl_test (original)
+++ qpid/branches/qpid-3890/qpid/cpp/src/tests/ssl_test Mon Mar 19 21:05:01 2012
@@ -100,8 +100,10 @@ start_ssl_mux_broker() {
     PORTS=( ${PORTS[@]} $1 )
 }
 
+sasl_config_dir=$builddir/sasl_config
+
 start_authenticating_broker() {
-    start_brokers 1 "--transport ssl --ssl-port 0 --require-encryption --ssl-sasl-no-dict --ssl-require-client-authentication --auth yes"
+    start_brokers 1 "--transport ssl --ssl-port 0 --require-encryption --ssl-sasl-no-dict --ssl-require-client-authentication --auth yes --sasl-config=${sasl_config_dir}"
 }
 
 ssl_cluster_broker() {		# $1 = port

Propchange: qpid/branches/qpid-3890/qpid/java/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/broker/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/broker/bin/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/bin:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java Mon Mar 19 21:05:01 2012
@@ -1123,11 +1123,6 @@ public class AMQChannel implements Sessi
 
     }
 
-    public Object getID()
-    {
-        return _channelId;
-    }
-
     public AMQConnectionModel getConnectionModel()
     {
         return _session;
@@ -1377,7 +1372,7 @@ public class AMQChannel implements Sessi
     {
         if(_blockingQueues.remove(queue))
         {
-            if(_blocking.compareAndSet(true,false))
+            if(_blocking.compareAndSet(true,false) && !isClosing())
             {
                 _actor.message(_logSubject, ChannelMessages.FLOW_REMOVED());
 
@@ -1627,6 +1622,6 @@ public class AMQChannel implements Sessi
 
     public int compareTo(AMQSessionModel session)
     {
-        return getId().toString().compareTo(session.getID().toString());
+        return getId().compareTo(session.getId());
     }
 }

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfig.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfig.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfig.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfig.java Mon Mar 19 21:05:01 2012
@@ -29,6 +29,4 @@ public interface VirtualHostConfig exten
 
     String getFederationTag();
 
-    void setBroker(BrokerConfig brokerConfig);
-
 }

Propchange: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/management/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java Mon Mar 19 21:05:01 2012
@@ -1315,7 +1315,8 @@ public class AMQProtocolEngine implement
 
     public void closeSession(AMQSessionModel session, AMQConstant cause, String message) throws AMQException
     {
-        closeChannel((Integer)session.getID());
+        int channelId = ((AMQChannel)session).getChannelId();
+        closeChannel(channelId);
 
         MethodRegistry methodRegistry = getMethodRegistry();
         ChannelCloseBody responseBody =
@@ -1324,7 +1325,7 @@ public class AMQProtocolEngine implement
                         new AMQShortString(message),
                         0,0);
 
-        writeFrame(responseBody.generateFrame((Integer)session.getID()));
+        writeFrame(responseBody.generateFrame(channelId));
     }
 
     public void close(AMQConstant cause, String message) throws AMQException

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java Mon Mar 19 21:05:01 2012
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.server.protocol;
 
+import java.util.UUID;
 import java.util.concurrent.ConcurrentSkipListSet;
 
 import org.apache.qpid.AMQException;
@@ -35,7 +36,8 @@ import org.apache.qpid.server.queue.Simp
  */
 public interface AMQSessionModel extends Comparable<AMQSessionModel>
 {
-    public Object getID();
+    /** Unique session ID across entire broker*/
+    public UUID getId();
 
     public AMQConnectionModel getConnectionModel();
 

Propchange: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java Mon Mar 19 21:05:01 2012
@@ -2091,9 +2091,13 @@ public class SimpleAMQQueue implements A
             // Only process nodes that are not currently deleted and not dequeued
             if (!node.isDispensed())
             {
-                // If the node has exired then aquire it
+                // If the node has exired then acquire it
                 if (node.expired() && node.acquire())
                 {
+                    if (_logger.isDebugEnabled())
+                    {
+                        _logger.debug("Dequeuing expired node " + node);
+                    }
                     // Then dequeue it.
                     dequeueEntry(node);
                 }

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/BrokerConfigAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/BrokerConfigAdapter.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/BrokerConfigAdapter.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/BrokerConfigAdapter.java Mon Mar 19 21:05:01 2012
@@ -114,7 +114,6 @@ public class BrokerConfigAdapter impleme
 
     public void addVirtualHost(final VirtualHostConfig virtualHost)
     {
-        virtualHost.setBroker(this);
         _vhosts.put(virtualHost.getId(), virtualHost);
         getConfigStore().addConfiguredObject(virtualHost);
 

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java Mon Mar 19 21:05:01 2012
@@ -720,11 +720,6 @@ public class ServerSession extends Sessi
         close();
     }
 
-    public Object getID()
-    {
-       return getName();
-    }
-
     public AMQConnectionModel getConnectionModel()
     {
         return getConnection();
@@ -854,7 +849,6 @@ public class ServerSession extends Sessi
         // unregister subscriptions in order to prevent sending of new messages
         // to subscriptions with closing session
         unregisterSubscriptions();
-
         super.close();
     }
 
@@ -1025,6 +1019,7 @@ public class ServerSession extends Sessi
 
     public int compareTo(AMQSessionModel session)
     {
-        return getId().toString().compareTo(session.getID().toString());
+        return getId().compareTo(session.getId());
     }
+
 }

Propchange: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java (original)
+++ qpid/branches/qpid-3890/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java Mon Mar 19 21:05:01 2012
@@ -59,7 +59,6 @@ import org.apache.qpid.server.queue.AMQQ
 import org.apache.qpid.server.queue.AMQQueueFactory;
 import org.apache.qpid.server.queue.DefaultQueueRegistry;
 import org.apache.qpid.server.queue.QueueRegistry;
-import org.apache.qpid.server.registry.ApplicationRegistry;
 import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.stats.StatisticsCounter;
@@ -72,7 +71,6 @@ import org.apache.qpid.server.virtualhos
 
 import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectName;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
@@ -84,8 +82,26 @@ public class VirtualHostImpl implements 
 {
     private static final Logger _logger = Logger.getLogger(VirtualHostImpl.class);
 
+    private static final int HOUSEKEEPING_SHUTDOWN_TIMEOUT = 5;
+
+    private final UUID _id;
+
     private final String _name;
 
+    private final long _createTime = System.currentTimeMillis();
+
+    private final ConcurrentHashMap<BrokerLink,BrokerLink> _links = new ConcurrentHashMap<BrokerLink, BrokerLink>();
+
+    private final ScheduledThreadPoolExecutor _houseKeepingTasks;
+
+    private final IApplicationRegistry _appRegistry;
+
+    private final SecurityManager _securityManager;
+
+    private final BrokerConfig _brokerConfig;
+
+    private final VirtualHostConfiguration _configuration;
+
     private ConnectionRegistry _connectionRegistry;
 
     private QueueRegistry _queueRegistry;
@@ -102,92 +118,23 @@ public class VirtualHostImpl implements 
 
     private AMQBrokerManagerMBean _brokerMBean;
 
-    private SecurityManager _securityManager;
 
-    private final ScheduledThreadPoolExecutor _houseKeepingTasks;
-    private final IApplicationRegistry _appRegistry;
-    private VirtualHostConfiguration _configuration;
     private DurableConfigurationStore _durableConfigurationStore;
     private BindingFactory _bindingFactory;
-    private BrokerConfig _broker;
-    private UUID _id;
 
     private boolean _statisticsEnabled = false;
     private StatisticsCounter _messagesDelivered, _dataDelivered, _messagesReceived, _dataReceived;
 
-    private final long _createTime = System.currentTimeMillis();
-    private final ConcurrentHashMap<BrokerLink,BrokerLink> _links = new ConcurrentHashMap<BrokerLink, BrokerLink>();
-    private static final int HOUSEKEEPING_SHUTDOWN_TIMEOUT = 5;
-
-
-    public IConnectionRegistry getConnectionRegistry()
-    {
-        return _connectionRegistry;
-    }
-
-    public VirtualHostConfiguration getConfiguration()
-    {
-        return _configuration;
-    }
-
-    public UUID getId()
-    {
-        return _id;
-    }
-
-    public VirtualHostConfigType getConfigType()
-    {
-        return VirtualHostConfigType.getInstance();
-    }
-
-    public ConfiguredObject getParent()
-    {
-        return getBroker();
-    }
 
-    public boolean isDurable()
-    {
-        return false;
-    }
-
-    /**
-     * Virtual host JMX MBean class.
-     *
-     * This has some of the methods implemented from management intrerface for exchanges. Any
-     * implementaion of an Exchange MBean should extend this class.
-     */
-    public class VirtualHostMBean extends AMQManagedObject implements ManagedVirtualHost
+    public VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig, MessageStore store) throws Exception
     {
-        public VirtualHostMBean() throws NotCompliantMBeanException
-        {
-            super(ManagedVirtualHost.class, ManagedVirtualHost.TYPE);
-        }
-
-        public String getObjectInstanceName()
-        {
-            return ObjectName.quote(_name);
-        }
-
-        public String getName()
+        if (hostConfig == null)
         {
-            return _name;
+            throw new IllegalArgumentException("HostConfig cannot be null");
         }
 
-        public VirtualHostImpl getVirtualHost()
-        {
-            return VirtualHostImpl.this;
-        }
-    }
-
-    public VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig, MessageStore store) throws Exception
-    {
-		if (hostConfig == null)
-		{
-			throw new IllegalArgumentException("HostConfig cannot be null");
-		}
-		
         _appRegistry = appRegistry;
-        _broker = _appRegistry.getBroker();
+        _brokerConfig = _appRegistry.getBroker();
         _configuration = hostConfig;
         _name = _configuration.getName();
         _dtxRegistry = new DtxRegistry();
@@ -198,7 +145,7 @@ public class VirtualHostImpl implements 
 
         if (_name == null || _name.length() == 0)
         {
-    		throw new IllegalArgumentException("Illegal name (" + _name + ") for virtualhost.");
+            throw new IllegalArgumentException("Illegal name (" + _name + ") for virtualhost.");
         }
 
         _securityManager = new SecurityManager(_appRegistry.getSecurityManager());
@@ -238,17 +185,76 @@ public class VirtualHostImpl implements 
         }
         else
         {
-			initialiseMessageStore(hostConfig);
+            initialiseMessageStore(hostConfig);
         }
-		
 
         _brokerMBean = new AMQBrokerManagerMBean(_virtualHostMBean);
         _brokerMBean.register();
         initialiseHouseKeeping(hostConfig.getHousekeepingCheckPeriod());
-        
+
         initialiseStatistics();
     }
 
+    public IConnectionRegistry getConnectionRegistry()
+    {
+        return _connectionRegistry;
+    }
+
+    public VirtualHostConfiguration getConfiguration()
+    {
+        return _configuration;
+    }
+
+    public UUID getId()
+    {
+        return _id;
+    }
+
+    public VirtualHostConfigType getConfigType()
+    {
+        return VirtualHostConfigType.getInstance();
+    }
+
+    public ConfiguredObject getParent()
+    {
+        return getBroker();
+    }
+
+    public boolean isDurable()
+    {
+        return false;
+    }
+
+    /**
+     * Virtual host JMX MBean class.
+     *
+     * This has some of the methods implemented from management intrerface for exchanges. Any
+     * implementaion of an Exchange MBean should extend this class.
+     */
+    public class VirtualHostMBean extends AMQManagedObject implements ManagedVirtualHost
+    {
+        public VirtualHostMBean() throws NotCompliantMBeanException
+        {
+            super(ManagedVirtualHost.class, ManagedVirtualHost.TYPE);
+        }
+
+        public String getObjectInstanceName()
+        {
+            return ObjectName.quote(_name);
+        }
+
+        public String getName()
+        {
+            return _name;
+        }
+
+        public VirtualHostImpl getVirtualHost()
+        {
+            return VirtualHostImpl.this;
+        }
+    }
+
+
     /**
      * Initialise a housekeeping task to iterate over queues cleaning expired messages with no consumers
      * and checking for idle or open transactions that have exceeded the permitted thresholds.
@@ -263,8 +269,7 @@ public class VirtualHostImpl implements 
 
             scheduleHouseKeepingTask(period, new VirtualHostHouseKeepingTask());
 
-            Map<String, VirtualHostPluginFactory> plugins =
-                ApplicationRegistry.getInstance().getPluginManager().getVirtualHostPlugins();
+            Map<String, VirtualHostPluginFactory> plugins = _appRegistry.getPluginManager().getVirtualHostPlugins();
 
             if (plugins != null)
             {
@@ -389,11 +394,9 @@ public class VirtualHostImpl implements 
     {
         String messageStoreClass = hostConfig.getMessageStoreClass();
 
-        Class clazz = Class.forName(messageStoreClass);
+        Class<?> clazz = Class.forName(messageStoreClass);
         Object o = clazz.newInstance();
 
-
-
         if (!(o instanceof MessageStore))
         {
             throw new ClassCastException("Message store class must implement " + MessageStore.class + ". Class " + clazz +
@@ -435,11 +438,10 @@ public class VirtualHostImpl implements 
     {
         _logger.debug("Loading configuration for virtualhost: " + config.getName());
 
-    	List exchangeNames = config.getExchanges();
+        List<String> exchangeNames = config.getExchanges();
 
-        for (Object exchangeNameObj : exchangeNames)
+        for (String exchangeName : exchangeNames)
         {
-            String exchangeName = String.valueOf(exchangeNameObj);
             configureExchange(config.getExchangeConfiguration(exchangeName));
         }
 
@@ -538,17 +540,12 @@ public class VirtualHostImpl implements 
 
     public BrokerConfig getBroker()
     {
-        return _broker;
+        return _brokerConfig;
     }
 
     public String getFederationTag()
     {
-        return _broker.getFederationTag();
-    }
-
-    public void setBroker(final BrokerConfig broker)
-    {
-        _broker = broker;
+        return _brokerConfig.getFederationTag();
     }
 
     public long getCreateTime()
@@ -634,7 +631,7 @@ public class VirtualHostImpl implements 
             }
             catch (Exception e)
             {
-                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+                _logger.error("Failed to close message store", e);
             }
         }
 
@@ -805,39 +802,15 @@ public class VirtualHostImpl implements 
      */
     private static class StartupRoutingTable implements DurableConfigurationStore
     {
-        private List<Exchange> exchange = new LinkedList<Exchange>();
-        private List<CreateQueueTuple> queue = new LinkedList<CreateQueueTuple>();
-        private List<CreateBindingTuple> bindings = new LinkedList<CreateBindingTuple>();
-        private List<BrokerLink> links = new LinkedList<BrokerLink>();
-        private List<Bridge> bridges = new LinkedList<Bridge>();
-        
-        public void configure(VirtualHost virtualHost, String base, VirtualHostConfiguration config) throws Exception
-        {
-        }
-
-        public void close() throws Exception
-        {
-        }
-
-        public void removeMessage(Long messageId) throws AMQException
-        {
-            //To change body of implemented methods use File | Settings | File Templates.
-        }
-
         public void configureConfigStore(String name,
                                          ConfigurationRecoveryHandler recoveryHandler,
                                          Configuration config,
                                          LogSubject logSubject) throws Exception
         {
-            //To change body of implemented methods use File | Settings | File Templates.
         }
 
         public void createExchange(Exchange exchange) throws AMQStoreException
         {
-            if (exchange.isDurable())
-            {
-                this.exchange.add(exchange);
-            }
         }
 
         public void removeExchange(Exchange exchange) throws AMQStoreException
@@ -846,10 +819,6 @@ public class VirtualHostImpl implements 
 
         public void bindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException
         {
-            if (exchange.isDurable() && queue.isDurable())
-            {
-                bindings.add(new CreateBindingTuple(exchange, routingKey, queue, args));
-            }
         }
 
         public void unbindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException
@@ -858,60 +827,22 @@ public class VirtualHostImpl implements 
 
         public void createQueue(AMQQueue queue) throws AMQStoreException
         {
-            createQueue(queue, null);
         }
 
         public void createQueue(AMQQueue queue, FieldTable arguments) throws AMQStoreException
         {
-            if (queue.isDurable())
-            {
-                this.queue.add(new CreateQueueTuple(queue, arguments));
-            }
         }
 
         public void removeQueue(AMQQueue queue) throws AMQStoreException
         {
         }
 
-
-        private static class CreateQueueTuple
-        {
-            private AMQQueue queue;
-            private FieldTable arguments;
-
-            public CreateQueueTuple(AMQQueue queue, FieldTable arguments)
-            {
-                this.queue = queue;
-                this.arguments = arguments;
-            }
-        }
-
-        private static class CreateBindingTuple
-        {
-            private AMQQueue queue;
-            private FieldTable arguments;
-            private Exchange exchange;
-            private AMQShortString routingKey;
-
-            public CreateBindingTuple(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args)
-            {
-                this.exchange = exchange;
-                this.routingKey = routingKey;
-                this.queue = queue;
-                arguments = args;
-            }
-        }
-
         public void updateQueue(AMQQueue queue) throws AMQStoreException
         {
         }
 
         public void createBrokerLink(final BrokerLink link) throws AMQStoreException
         {
-            if(link.isDurable())
-            {
-                links.add(link);
-            }
         }
 
         public void deleteBrokerLink(final BrokerLink link) throws AMQStoreException
@@ -920,10 +851,6 @@ public class VirtualHostImpl implements 
 
         public void createBridge(final Bridge bridge) throws AMQStoreException
         {
-            if(bridge.isDurable())
-            {
-                bridges.add(bridge);
-            }
         }
 
         public void deleteBridge(final Bridge bridge) throws AMQStoreException

Modified: qpid/branches/qpid-3890/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java (original)
+++ qpid/branches/qpid-3890/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java Mon Mar 19 21:05:01 2012
@@ -3330,7 +3330,7 @@ public abstract class AMQSession<C exten
             try
             {
                 Dispatchable disp;
-                while (!_closed.get() && ((disp = (Dispatchable) _queue.take()) != null))
+                while (((disp = (Dispatchable) _queue.take()) != null) && !_closed.get())
                 {
                     disp.dispatch(AMQSession.this);
                 }

Modified: qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss-properties.xml
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss-properties.xml?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss-properties.xml (original)
+++ qpid/branches/qpid-3890/qpid/java/jca/example/build-jboss-properties.xml Mon Mar 19 21:05:01 2012
@@ -21,6 +21,7 @@
 <project name="qpid-jca-example-jboss-properties" basedir="." default="">
 
     <property name="jndi.scheme" value="mappedName"/>
+
     <property name="qpid.xacf.jndi.name" value="java:QpidJMSXA"/>
     <property name="qpid.cf.jndi.name" value="QpidConnectionFactory"/>
     <property name="qpid.hello.topic.jndi.name" value="HelloTopic"/>

Modified: qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloListenerBean.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloListenerBean.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloListenerBean.java (original)
+++ qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloListenerBean.java Mon Mar 19 21:05:01 2012
@@ -53,7 +53,7 @@ public class QpidHelloListenerBean imple
     @Resource(@jndi.scheme@="@qpid.xacf.jndi.name@")
     private ConnectionFactory _connectionFactory;
 
-    @Resource(@jndi.scheme@="GoodByeQueue")
+    @Resource(@jndi.scheme@="@qpid.goodbye.queue.jndi.name@")
     private Destination _queue;
 
     @Override

Modified: qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloSubscriberBean.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloSubscriberBean.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloSubscriberBean.java (original)
+++ qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/ejb/QpidHelloSubscriberBean.java Mon Mar 19 21:05:01 2012
@@ -54,7 +54,7 @@ public class QpidHelloSubscriberBean imp
     @Resource(@jndi.scheme@="@qpid.xacf.jndi.name@")
     private ConnectionFactory _connectionFactory;
 
-    @Resource(@jndi.scheme@="GoodByeTopic")
+    @Resource(@jndi.scheme@="@qpid.goodbye.topic.jndi.name@")
     private Destination _topic;
 
     @Override

Modified: qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/web/QpidTestServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/web/QpidTestServlet.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/web/QpidTestServlet.java (original)
+++ qpid/branches/qpid-3890/qpid/java/jca/example/src/main/java/org/apache/qpid/jca/example/web/QpidTestServlet.java Mon Mar 19 21:05:01 2012
@@ -58,10 +58,10 @@ public class QpidTestServlet extends Htt
     @Resource(@jndi.scheme@="@qpid.xacf.jndi.name@")
     private ConnectionFactory _connectionFactory;
 
-    @Resource(@jndi.scheme@="HelloQueue")
+    @Resource(@jndi.scheme@="@qpid.hello.queue.jndi.name@")
     private Destination _queue;
 
-    @Resource(@jndi.scheme@="HelloTopic")
+    @Resource(@jndi.scheme@="@qpid.hello.topic.jndi.name@")
     private Destination _topic;
 
     @EJB

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SessionCreateTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SessionCreateTest.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SessionCreateTest.java (original)
+++ qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/client/SessionCreateTest.java Mon Mar 19 21:05:01 2012
@@ -27,7 +27,6 @@ import org.apache.qpid.test.utils.QpidBr
 
 import javax.jms.Connection;
 import javax.jms.Session;
-import javax.naming.Context;
 
 
 /**
@@ -35,9 +34,7 @@ import javax.naming.Context;
  */
 public class SessionCreateTest extends QpidBrokerTestCase
 {
-    private static final Logger _logger = LoggerFactory.getLogger(MessageListenerTest.class);
-
-    private Context _context;
+    private static final Logger LOGGER = LoggerFactory.getLogger(SessionCreateTest.class);
 
     private Connection _clientConnection;
     protected int maxSessions = 65555;
@@ -54,7 +51,7 @@ public class SessionCreateTest extends Q
             Session sess = _clientConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             assertNotNull(sess);
             sess.close();
-            System.out.println("created session: " + i); 
+            LOGGER.debug("created session: " + i);
         }
 
         _clientConnection.close();

Propchange: qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java (original)
+++ qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/server/queue/ProducerFlowControlTest.java Mon Mar 19 21:05:01 2012
@@ -357,13 +357,45 @@ public class ProducerFlowControlTest ext
         consumer.receive();
     }
 
+    public void testQueueDeleteWithBlockedFlow() throws Exception
+    {
+        String queueName = getTestQueueName();
+        createAndBindQueueWithFlowControlEnabled(producerSession, queueName, 1000, 800, true, false);
+
+        producer = producerSession.createProducer(queue);
+
+        // try to send 5 messages (should block after 4)
+        sendMessagesAsync(producer, producerSession, 5, 50L);
+
+        Thread.sleep(5000);
+
+        assertEquals("Incorrect number of message sent before blocking", 4, _sentMessages.get());
+
+        // close blocked producer session and connection
+        producerConnection.close();
+
+        // delete queue with a consumer session
+        ((AMQSession<?,?>) consumerSession).sendQueueDelete(new AMQShortString(queueName));
+
+        consumer = consumerSession.createConsumer(queue);
+        consumerConnection.start();
+
+        Message message = consumer.receive(1000l);
+        assertNull("Unexpected message", message);
+    }
+
     private void createAndBindQueueWithFlowControlEnabled(Session session, String queueName, int capacity, int resumeCapacity) throws Exception
     {
+        createAndBindQueueWithFlowControlEnabled(session, queueName, capacity, resumeCapacity, false, true);
+    }
+
+    private void createAndBindQueueWithFlowControlEnabled(Session session, String queueName, int capacity, int resumeCapacity, boolean durable, boolean autoDelete) throws Exception
+    {
         final Map<String,Object> arguments = new HashMap<String, Object>();
         arguments.put("x-qpid-capacity",capacity);
         arguments.put("x-qpid-flow-resume-capacity",resumeCapacity);
-        ((AMQSession<?,?>) session).createQueue(new AMQShortString(queueName), true, false, false, arguments);
-        queue = session.createQueue("direct://amq.direct/"+queueName+"/"+queueName+"?durable='false'&autodelete='true'");
+        ((AMQSession<?,?>) session).createQueue(new AMQShortString(queueName), autoDelete, durable, false, arguments);
+        queue = session.createQueue("direct://amq.direct/"+queueName+"/"+queueName+"?durable='" + durable + "'&autodelete='" + autoDelete + "'");
         ((AMQSession<?,?>) session).declareAndBind((AMQDestination)queue);
     }
 

Modified: qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java (original)
+++ qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/transacted/TransactionTimeoutTest.java Mon Mar 19 21:05:01 2012
@@ -20,6 +20,12 @@
  */
 package org.apache.qpid.test.unit.transacted;
 
+import javax.jms.DeliveryMode;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+
 /**
  * This tests the behaviour of transactional sessions when the {@code transactionTimeout} configuration
  * is set for a virtual host.
@@ -305,4 +311,33 @@ public class TransactionTimeoutTest exte
 
         monitor(0, 0);
     }
+
+    /**
+     * Tests that sending an unroutable persistent message does not result in a long running store transaction [warning].
+     */
+    public void testTransactionCommittedOnNonRoutableQueuePersistentMessage() throws Exception
+    {
+        checkTransactionCommittedOnNonRoutableQueueMessage(DeliveryMode.PERSISTENT);
+    }
+
+    /**
+     * Tests that sending an unroutable transient message does not result in a long running store transaction [warning].
+     */
+    public void testTransactionCommittedOnNonRoutableQueueTransientMessage() throws Exception
+    {
+        checkTransactionCommittedOnNonRoutableQueueMessage(DeliveryMode.NON_PERSISTENT);
+    }
+
+    private void checkTransactionCommittedOnNonRoutableQueueMessage(int deliveryMode) throws JMSException, Exception
+    {
+        Queue nonExisting = _psession.createQueue(getTestQueueName() + System.currentTimeMillis());
+        MessageProducer producer = _psession.createProducer(nonExisting);
+        Message message = _psession.createMessage();
+        producer.send(message, deliveryMode, Message.DEFAULT_PRIORITY, Message.DEFAULT_TIME_TO_LIVE);
+        _psession.commit();
+
+        // give time to house keeping thread to log messages
+        sleep(3f);
+        monitor(0, 0);
+    }
 }

Propchange: qpid/branches/qpid-3890/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes (original)
+++ qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes Mon Mar 19 21:05:01 2012
@@ -24,7 +24,6 @@ org.apache.qpid.test.client.destination.
 org.apache.qpid.test.client.destination.AddressBasedDestinationTest#testDeleteOptions
 
 org.apache.qpid.test.unit.client.channelclose.ChannelCloseTest#*
-org.apache.qpid.client.ResetMessageListenerTest#*
 
 // Those tests are testing 0.8 specific semantics
 org.apache.qpid.test.client.ImmediateAndMandatoryPublishingTest#*
@@ -169,3 +168,6 @@ org.apache.qpid.server.message.MessagePr
 
 // passwd script is a Java Broker specific command line tool
 org.apache.qpid.scripts.QpidPasswdTest#*
+
+// QPID-3604: Immediate Prefetch no longer supported by 0-10
+org.apache.qpid.client.AsynchMessageListenerTest#testImmediatePrefetchWithMessageListener

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/CPPExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/CPPExcludes:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/test-profiles/CPPPrefetchExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/test-profiles/CPPPrefetchExcludes?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/test-profiles/CPPPrefetchExcludes (original)
+++ qpid/branches/qpid-3890/qpid/java/test-profiles/CPPPrefetchExcludes Mon Mar 19 21:05:01 2012
@@ -18,6 +18,6 @@
 //
 
 // those tests should be run with prefetch off
-org.apache.qpid.client.MessageListenerMultiConsumerTest#testRecieveC2Only
-org.apache.qpid.client.MessageListenerMultiConsumerTest#testRecieveBoth
+org.apache.qpid.client.SynchReceiveTest#testTwoConsumersInterleaved
+org.apache.qpid.client.SynchReceiveTest#testIdleSecondConsumer
 org.apache.qpid.test.unit.xa.TopicTest#testMigrateDurableSubscriber

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/Excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/Excludes:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/test-profiles/Java010Excludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/test-profiles/Java010Excludes?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/test-profiles/Java010Excludes (original)
+++ qpid/branches/qpid-3890/qpid/java/test-profiles/Java010Excludes Mon Mar 19 21:05:01 2012
@@ -54,3 +54,6 @@ org.apache.qpid.test.client.destination.
 org.apache.qpid.test.client.timeouts.SyncWaitTimeoutDelayTest#*
 org.apache.qpid.test.client.timeouts.SyncWaitDelayTest#*
 
+// QPID-3604: Immediate Prefetch no longer supported by 0-10
+org.apache.qpid.client.AsynchMessageListenerTest#testImmediatePrefetchWithMessageListener
+

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaBDBExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaBDBExcludes:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes (original)
+++ qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes Mon Mar 19 21:05:01 2012
@@ -33,3 +33,4 @@ org.apache.qpid.client.ssl.SSLTest#testM
 
 //QPID-3605 Durable subscriber with no-local true receives messages on re-connection
 org.apache.qpid.test.unit.topic.DurableSubscriptionTest#testNoLocalMessagesNotDeliveredAfterReconnection
+

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaExcludes:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes (original)
+++ qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes Mon Mar 19 21:05:01 2012
@@ -36,7 +36,7 @@ org.apache.qpid.server.queue.AddressBase
 
 // Those tests are written against the 0.10 path
 org.apache.qpid.test.unit.message.UTF8Test#*
-org.apache.qpid.client.MessageListenerTest#testSynchronousReceiveNoWait
+org.apache.qpid.client.SynchReceiveTest#testReceiveNoWait
 
 // Tests 0.10 client feature
 org.apache.qpid.test.unit.client.connection.ConnectionTest#testUnsupportedSASLMechanism
@@ -63,3 +63,7 @@ org.apache.qpid.jms.xa.XAResourceTest#*
 
 //Tests durable subscription selector verification behaviour that 0-8/0-9/0-9-1 cant provide
 org.apache.qpid.test.unit.ct.DurableSubscriberTest#testResubscribeWithChangedSelectorAndRestart
+
+// JCA system tests require XA support (should look to see if we can reduce scope of excludes here)
+org.apache.qpid.ra.QpidRAConnectionTest#*
+

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaPre010Excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaPre010Excludes:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/JavaTransientExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/XAExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/XAExcludes:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.async.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.async.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.cluster.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.cluster.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.noprefetch.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.noprefetch.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.ssl.excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.ssl.excludes:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.ssl.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.ssl.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/cpp.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-bdb.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-bdb.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-dby.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-dby.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/java-mms.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms.0-9-1.testprofile:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/log4j-test.xml
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/log4j-test.xml:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/test-provider.properties
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/test-provider.properties:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/test_resources/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/test_resources:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/java/test-profiles/testprofile.defaults
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/testprofile.defaults:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/packaging/windows/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/packaging/windows:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/python/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/python:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/python/examples/api/spout
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/python/examples/api/spout:r1299022-1302634

Propchange: qpid/branches/qpid-3890/qpid/python/qpid/concurrency.py
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/python/qpid/concurrency.py:r1299022-1302634

Modified: qpid/branches/qpid-3890/qpid/python/qpid/connection.py
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3890/qpid/python/qpid/connection.py?rev=1302655&r1=1302654&r2=1302655&view=diff
==============================================================================
--- qpid/branches/qpid-3890/qpid/python/qpid/connection.py (original)
+++ qpid/branches/qpid-3890/qpid/python/qpid/connection.py Mon Mar 19 21:05:01 2012
@@ -170,6 +170,10 @@ class Connection(Framer):
           if not status:
             self.detach_all()
             break
+      # When we do not use SSL transport, we get periodic 
+      # spurious timeout events on the socket.  When using SSL,
+      # these events show up as timeout *errors*.  Both should be
+      # ignored unless we have aborted.
       except socket.timeout:
         if self.aborted():
           self.close_code = (None, "connection timed out")
@@ -178,9 +182,12 @@ class Connection(Framer):
         else:
           continue
       except socket.error, e:
-        self.close_code = (None, str(e))
-        self.detach_all()
-        break
+        if self.aborted() or str(e) != "The read operation timed out":
+          self.close_code = (None, str(e))
+          self.detach_all()
+          break
+        else:
+          continue
       frame_dec.write(data)
       seg_dec.write(*frame_dec.read())
       op_dec.write(*seg_dec.read())

Propchange: qpid/branches/qpid-3890/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_9/queue.py:r1299022-1302634



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org