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