Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id AB666200BD8 for ; Wed, 7 Dec 2016 15:42:19 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id AA0D4160B0A; Wed, 7 Dec 2016 14:42:19 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id CD4CB160AFD for ; Wed, 7 Dec 2016 15:42:18 +0100 (CET) Received: (qmail 79835 invoked by uid 500); 7 Dec 2016 14:42:18 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 79824 invoked by uid 99); 7 Dec 2016 14:42:18 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Dec 2016 14:42:18 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 8869DC8A31 for ; Wed, 7 Dec 2016 14:42:17 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 6LrwfXG2IE4l for ; Wed, 7 Dec 2016 14:42:16 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 42CEE5F47E for ; Wed, 7 Dec 2016 14:42:15 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 77FA7E01DC for ; Wed, 7 Dec 2016 14:42:14 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 777253A03A0 for ; Wed, 7 Dec 2016 14:42:14 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1773089 - in /qpid/java/trunk: broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ systests/src/test/java/org/apache/qpid/client/ test-profiles/ Date: Wed, 07 Dec 2016 14:42:14 -0000 To: commits@qpid.apache.org From: lquack@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161207144214.777253A03A0@svn01-us-west.apache.org> archived-at: Wed, 07 Dec 2016 14:42:19 -0000 Author: lquack Date: Wed Dec 7 14:42:14 2016 New Revision: 1773089 URL: http://svn.apache.org/viewvc?rev=1773089&view=rev Log: QPID-7578: [Java Broker] make AMQP 1.0 temporary queues globally addressable Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java qpid/java/trunk/systests/src/test/java/org/apache/qpid/client/TemporaryQueuePrefixTest.java qpid/java/trunk/test-profiles/Java10BrokenTestsExcludes Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java?rev=1773089&r1=1773088&r2=1773089&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java (original) +++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java Wed Dec 7 14:42:14 2016 @@ -180,6 +180,7 @@ public class Session_1_0 implements AMQS new Error(LinkError.DETACH_FORCED, "Force detach the link because the session is remotely ended."); + private final String _primaryDomain; private final Set _blockingEntities = Collections.newSetFromMap(new ConcurrentHashMap()); private volatile long _startedTransactions; private volatile long _committedTransactions; @@ -211,6 +212,7 @@ public class Session_1_0 implements AMQS ? ((ConfiguredObject)connection.getAddressSpace()).newToken(_subject) : connection.getBroker().newToken(_subject); _logSubject = new ChannelLogSubject(this); + _primaryDomain = getPrimaryDomain(); } public void setReceivingChannel(final short receivingChannel) @@ -1111,7 +1113,7 @@ public class Session_1_0 implements AMQS private Queue createTemporaryQueue(Map properties) { - final String queueName = UUID.randomUUID().toString(); + final String queueName = _primaryDomain + "TempQueue" + UUID.randomUUID().toString(); Queue queue = null; try { @@ -1834,6 +1836,26 @@ public class Session_1_0 implements AMQS MessageSource source = getAddressSpace().getAttainedMessageSource(name); return source instanceof Queue ? (Queue) source : null; } + + private String getPrimaryDomain() + { + String primaryDomain = ""; + final List globalAddressDomains = getAddressSpace().getGlobalAddressDomains(); + if (globalAddressDomains != null && !globalAddressDomains.isEmpty()) + { + primaryDomain = globalAddressDomains.get(0); + if(primaryDomain != null) + { + primaryDomain = primaryDomain.trim(); + if(!primaryDomain.endsWith("/")) + { + primaryDomain += "/"; + } + } + } + return primaryDomain; + } + private final class CapacityCheckAction implements Action { @Override Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/client/TemporaryQueuePrefixTest.java URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/client/TemporaryQueuePrefixTest.java?rev=1773089&r1=1773088&r2=1773089&view=diff ============================================================================== --- qpid/java/trunk/systests/src/test/java/org/apache/qpid/client/TemporaryQueuePrefixTest.java (original) +++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/client/TemporaryQueuePrefixTest.java Wed Dec 7 14:42:14 2016 @@ -29,6 +29,14 @@ import javax.jms.TemporaryQueue; public class TemporaryQueuePrefixTest extends QpidBrokerTestCase { @Override + protected void setUp() throws Exception + { + super.setUp(); + // FIXME: This seems to be necessary to run this test from IntelliJ. Otherwise the context var ${qpid.globalAddressDomains} in the blueprint will be expanded. Not sure why. + setTestSystemProperty("virtualhostnode.context.blueprint", "{\"type\":\"ProvidedStore\",\"globalAddressDomains\":\"${qpid.globalAddressDomains}\"}"); + } + + @Override public void startDefaultBroker() throws Exception { // deliberately don't start broker Modified: qpid/java/trunk/test-profiles/Java10BrokenTestsExcludes URL: http://svn.apache.org/viewvc/qpid/java/trunk/test-profiles/Java10BrokenTestsExcludes?rev=1773089&r1=1773088&r2=1773089&view=diff ============================================================================== --- qpid/java/trunk/test-profiles/Java10BrokenTestsExcludes (original) +++ qpid/java/trunk/test-profiles/Java10BrokenTestsExcludes Wed Dec 7 14:42:14 2016 @@ -23,8 +23,6 @@ // Broker side defect - not creating temp queues with prefixes -org.apache.qpid.client.TemporaryQueuePrefixTest#* - // AMQP 1.0 allows more than one txn per session, so our mechanism of installing transaction timeout tickers will need to change org.apache.qpid.test.unit.transacted.TransactionTimeoutTest#* org.apache.qpid.test.unit.transacted.TransactionTimeoutDisabledTest#* --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org For additional commands, e-mail: commits-help@qpid.apache.org