svn commit: r1632254 - /qpid/branches/kwall_030_tmp/
Author: kwall Date: Thu Oct 16 09:29:17 2014 New Revision: 1632254 URL: http://svn.apache.org/r1632254 Log: Temporary branch based on 0.30 tag Added: qpid/branches/kwall_030_tmp/ (props changed) - copied from r1632253, qpid/tags/0.30/ Propchange: qpid/branches/kwall_030_tmp/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Oct 16 09:29:17 2014 @@ -0,0 +1,6 @@ +/qpid/branches/0.5.x-dev:892761,894875 +/qpid/branches/0.6-release-windows-installer:926803 +/qpid/branches/java-broker-bdb-ha2:1576683-1583556 +/qpid/branches/java-network-refactor:805429-825319 +/qpid/branches/mcpierce-QPID-4719:1477004-1477093 +/qpid/trunk:1617774,1618200,1618218,1618231,1618236,1620850,1620882 - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1632269 - in /qpid/branches/kwall_030_tmp: ./ qpid/ qpid/python/ qpid/python/qpid/messaging/endpoints.py
Author: kwall Date: Thu Oct 16 10:34:03 2014 New Revision: 1632269 URL: http://svn.apache.org/r1632269 Log: NO-JIRA: Fix timeout on python messaging.Session.commit and rollback Fix both to take timeout arg and raise Timeout exception if timeout expires. Merged from trunk with command: svn merge -c r1619813 https://svn.apache.org/repos/asf/qpid/trunk/ Modified: qpid/branches/kwall_030_tmp/ (props changed) qpid/branches/kwall_030_tmp/qpid/ (props changed) qpid/branches/kwall_030_tmp/qpid/python/ (props changed) qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py Propchange: qpid/branches/kwall_030_tmp/ -- Merged /qpid/trunk:r1619813 Propchange: qpid/branches/kwall_030_tmp/qpid/ -- Merged /qpid/trunk/qpid:r1619813 Propchange: qpid/branches/kwall_030_tmp/qpid/python/ -- Merged /qpid/trunk/qpid/python:r1619813 Modified: qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py URL: http://svn.apache.org/viewvc/qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py?rev=1632269r1=1632268r2=1632269view=diff == --- qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py (original) +++ qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py Thu Oct 16 10:34:03 2014 @@ -732,13 +732,14 @@ class Session(Endpoint): raise NontransactionalSession() self.committing = True self._wakeup() -self._ecwait(lambda: not self.committing, timeout=timeout) +if not self._ecwait(lambda: not self.committing, timeout=timeout): + raise Timeout(commit timed out) if self.aborted: raise TransactionAborted() assert self.committed @synchronized - def rollback(self): + def rollback(self, timeout=None): Rollback outstanding transactional work. This consists of all message sends and receives since the prior commit or rollback. @@ -747,7 +748,8 @@ class Session(Endpoint): raise NontransactionalSession() self.aborting = True self._wakeup() -self._ecwait(lambda: not self.aborting) +if not self._ecwait(lambda: not self.aborting, timeout=timeout): + raise Timeout(rollback timed out) assert self.aborted @synchronized - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1632285 - in /qpid/trunk/qpid/java: amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/ amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ broke
Author: rgodfrey Date: Thu Oct 16 12:18:05 2014 New Revision: 1632285 URL: http://svn.apache.org/r1632285 Log: QPID-6156 : [Java] Prevent downgrade to SSLv3 on secure connections Added: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/transport/ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java (with props) Modified: qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidSslRMIServerSocketFactory.java qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/IncomingNetworkTransport.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/SecurityLayerFactory.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java qpid/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/client/ssl/SSLTest.java Modified: qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1632285r1=1632284r2=1632285view=diff == --- qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java (original) +++ qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java Thu Oct 16 12:18:05 2014 @@ -71,7 +71,7 @@ class WebSocketProvider implements Trans sslContextFactory.setSslContext(context); - +sslContextFactory.addExcludeProtocols(SSLv3); factory.start(); return factory; Modified: qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java?rev=1632285r1=1632284r2=1632285view=diff == --- qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java (original) +++ qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java Thu Oct 16 12:18:05 2014 @@ -26,6 +26,9 @@ import java.io.OutputStream; import java.net.Socket; import java.net.SocketTimeoutException; import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.atomic.AtomicLong; import java.util.logging.Level; import java.util.logging.Logger; @@ -76,6 +79,13 @@ class TCPTransportProvier implements Tra final SSLSocketFactory socketFactory = sslContext.getSocketFactory(); SSLSocket sslSocket = (SSLSocket) socketFactory.createSocket(address, port); +ListString supportedProtocols = Arrays.asList(sslSocket.getSupportedProtocols()); +if(supportedProtocols.contains(SSLv3)) +{ +ListString allowedProtocols = new ArrayList(supportedProtocols); +allowedProtocols.remove(SSLv3); +
git commit: Add some additional tests for handling unresolved foreign destination types.
Repository: qpid-jms Updated Branches: refs/heads/master bec6b5cec - 7525ab93e Add some additional tests for handling unresolved foreign destination types. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/7525ab93 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/7525ab93 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/7525ab93 Branch: refs/heads/master Commit: 7525ab93e2802be8d35120dad1585821dc859533 Parents: bec6b5c Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 09:59:51 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 09:59:51 2014 -0400 -- ...ultUnresolvedDestinationTransformerTest.java | 178 +++ 1 file changed, 178 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7525ab93/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java new file mode 100644 index 000..89d1391 --- /dev/null +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java @@ -0,0 +1,178 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms.message; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import javax.jms.Destination; +import javax.jms.JMSException; +import javax.jms.Queue; +import javax.jms.Topic; + +import org.apache.qpid.jms.JmsDestination; +import org.apache.qpid.jms.JmsQueue; +import org.apache.qpid.jms.JmsTopic; +import org.junit.Test; +import org.mockito.Mockito; + +public class JmsDefaultUnresolvedDestinationTransformerTest { + +private final JmsDefaultUnresolvedDestinationTransformer transformer = new JmsDefaultUnresolvedDestinationTransformer(); + +@Test +public void testTransformDestinationDestinationWithNoNameThrowsJMSEx() throws JMSException { +Destination destination = Mockito.mock(Destination.class); +try { +transformer.transform(destination); +fail(Should throw a JMSException here); +} catch (JMSException ex) { +} +} + +@Test +public void testTransformDestinationDestinationWithoutTypeThrowsJMSEx() throws JMSException { +ForeignTopicAndQueue destination = new ForeignTopicAndQueue(destination); +destination.setTopic(false); +destination.setQueue(false); + +try { +transformer.transform(destination); +fail(Should throw a JMSException here); +} catch (JMSException ex) { +} +} + +@Test +public void testTopicTypeIsDetectedFromComposite() throws JMSException { +ForeignTopicAndQueue destination = new ForeignTopicAndQueue(destination); +destination.setQueue(false); + +JmsDestination result = transformer.transform(destination); + +assertNotNull(result); +assertTrue(result instanceof JmsTopic); +} + +@Test +public void testQueueTypeIsDetectedFromComposite() throws JMSException { +ForeignTopicAndQueue destination = new ForeignTopicAndQueue(destination); +destination.setTopic(false); + +JmsDestination result = transformer.transform(destination); + +assertNotNull(result); +assertTrue(result instanceof JmsQueue); +} + +@Test +public void testTopicTypeIsDetectedFromCompositeMisMatchedNameAndType() throws JMSException { +ForeignTopicAndQueue destination = new ForeignTopicAndQueue(destination); +destination.setQueue(false); +destination.setReturnTopicName(false); + +JmsDestination result = transformer.transform(destination); + +
svn commit: r1632318 - in /qpid/trunk/qpid/java/tools: pom.xml src/main/java/org/apache/qpid/tools/StressTestClient.java src/main/resources/ src/main/resources/stress-test-client.properties
Author: orudyy Date: Thu Oct 16 14:13:20 2014 New Revision: 1632318 URL: http://svn.apache.org/r1632318 Log: QPID-6158: Add sample utility to help to perform stress testing of broker The utility was originally implemented by Robbie Gemmell Added: qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java qpid/trunk/qpid/java/tools/src/main/resources/ qpid/trunk/qpid/java/tools/src/main/resources/stress-test-client.properties Modified: qpid/trunk/qpid/java/tools/pom.xml Modified: qpid/trunk/qpid/java/tools/pom.xml URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/tools/pom.xml?rev=1632318r1=1632317r2=1632318view=diff == --- qpid/trunk/qpid/java/tools/pom.xml (original) +++ qpid/trunk/qpid/java/tools/pom.xml Thu Oct 16 14:13:20 2014 @@ -51,7 +51,6 @@ groupIdorg.apache.geronimo.specs/groupId artifactIdgeronimo-jms_1.1_spec/artifactId version${geronimo-jms-1-1-version}/version - scopeprovided/scope /dependency /dependencies Added: qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java?rev=1632318view=auto == --- qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java (added) +++ qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java Thu Oct 16 14:13:20 2014 @@ -0,0 +1,446 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.qpid.tools; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; +import java.util.Random; + +import javax.jms.BytesMessage; +import javax.jms.Connection; +import javax.jms.ConnectionFactory; +import javax.jms.DeliveryMode; +import javax.jms.Destination; +import javax.jms.ExceptionListener; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageConsumer; +import javax.jms.MessageProducer; +import javax.jms.Session; +import javax.naming.Context; +import javax.naming.InitialContext; + +public class StressTestClient +{ +private static final String QUEUE_NAME_PREFIX = BURL:direct://amq.direct//stress-test-queue; +private static final String DURABLE_SUFFIX = ?durable='true'; + +public static final String CONNECTIONS_ARG = connections; +public static final String SESSIONS_ARG = sessions; +public static final String CONSUME_IMMEDIATELY_ARG = consumeImmediately; +public static final String CONSUMERS_ARG = consumers; +public static final String CLOSE_CONSUMERS_ARG = closeconsumers; +public static final String PRODUCERS_ARG = producers; +public static final String MESSAGE_COUNT_ARG = messagecount; +public static final String MESSAGE_SIZE_ARG = size; +public static final String SUFFIX_ARG = suffix; +public static final String REPETITIONS_ARG = repetitions; +public static final String PERSISTENT_ARG = persistent; +public static final String RANDOM_ARG = random; +public static final String TIMEOUT_ARG = timeout; +public static final String DELAYCLOSE_ARG = delayclose; +public static final String REPORT_MOD_ARG = reportmod; +public static final String LOW_PREFETCH_ARG = lowprefetch; +public static final String TRANSACTED_ARG = transacted; +public static final String TX_BATCH_ARG = txbatch; + +public static final String CONNECTIONS_DEFAULT = 1; +public static final String SESSIONS_DEFAULT = 1; +public static final String CONSUME_IMMEDIATELY_DEFAULT = true; +public static final String CLOSE_CONSUMERS_DEFAULT = true; +public static final String PRODUCERS_DEFAULT = 1; +public static final String CONSUMERS_DEFAULT = 1; +public static final String MESSAGE_COUNT_DEFAULT = 1; +public static final String MESSAGE_SIZE_DEFAULT = 256; +public static final String SUFFIX_DEFAULT = ; +public static final String
svn commit: r1632325 - /qpid/proton/trunk/proton-c/src/ssl/openssl.c
Author: kgiusti Date: Thu Oct 16 14:52:44 2014 New Revision: 1632325 URL: http://svn.apache.org/r1632325 Log: PROTON-717: mitigate the CRIME SSL vulnerability Modified: qpid/proton/trunk/proton-c/src/ssl/openssl.c Modified: qpid/proton/trunk/proton-c/src/ssl/openssl.c URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/ssl/openssl.c?rev=1632325r1=1632324r2=1632325view=diff == --- qpid/proton/trunk/proton-c/src/ssl/openssl.c (original) +++ qpid/proton/trunk/proton-c/src/ssl/openssl.c Thu Oct 16 14:52:44 2014 @@ -481,6 +481,10 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_m } const long reject_insecure = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3; SSL_CTX_set_options(domain-ctx, reject_insecure); +#ifdef SSL_OP_NO_COMPRESSION + // Mitigate the CRIME vulnerability + SSL_CTX_set_options(domain-ctx, SSL_OP_NO_COMPRESSION); +#endif // by default, allow anonymous ciphers so certificates are not required 'out of the box' if (!SSL_CTX_set_cipher_list( domain-ctx, CIPHERS_ANONYMOUS )) { - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[4/4] git commit: title and organise into sections of related tests
title and organise into sections of related tests Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6bcb5546 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6bcb5546 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6bcb5546 Branch: refs/heads/master Commit: 6bcb55460220f74d762d288d67dbb646f82b564f Parents: 7525ab9 Author: Robert Gemmell rob...@apache.org Authored: Wed Oct 15 12:45:42 2014 +0100 Committer: Robert Gemmell rob...@apache.org Committed: Thu Oct 16 16:55:32 2014 +0100 -- .../jms/integration/MessageIntegrationTest.java | 64 1 file changed, 39 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6bcb5546/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java index f46a6d0..24ecc64 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java @@ -59,7 +59,6 @@ import org.apache.qpid.proton.amqp.DescribedType; import org.apache.qpid.proton.amqp.Symbol; import org.apache.qpid.proton.amqp.UnsignedInteger; import org.apache.qpid.proton.amqp.UnsignedLong; -import org.junit.Ignore; import org.junit.Test; public class MessageIntegrationTest extends QpidJmsTestCase @@ -85,6 +84,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase private final IntegrationTestFixture testFixture = new IntegrationTestFixture(); +// Application Properties Section +// + @Test(timeout = 2000) public void testSendMessageWithApplicationProperties() throws Exception { try (TestAmqpPeer testPeer = new TestAmqpPeer(IntegrationTestFixture.PORT);) { @@ -197,30 +199,8 @@ public class MessageIntegrationTest extends QpidJmsTestCase } } -@Test(timeout = 2000) -public void testReceiveMessageWithoutMessageId() throws Exception { -try (TestAmqpPeer testPeer = new TestAmqpPeer(IntegrationTestFixture.PORT);) { -Connection connection = testFixture.establishConnecton(testPeer); -connection.start(); - -testPeer.expectBegin(true); - -Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); -Queue queue = session.createQueue(myQueue); - -DescribedType amqpValueNullContent = new AmqpValueDescribedType(null); - -testPeer.expectReceiverAttach(); -testPeer.expectLinkFlowRespondWithTransfer(null, null, null, null, amqpValueNullContent); -testPeer.expectDispositionThatIsAcceptedAndSettled(); - -MessageConsumer messageConsumer = session.createConsumer(queue); -Message receivedMessage = messageConsumer.receive(1000); -testPeer.waitForAllHandlersToComplete(2000); - -assertNull(receivedMessage.getJMSMessageID()); -} -} +// Destination Handling +//== /** * Tests that the {@link AmqpMessageSupport#AMQP_TO_ANNOTATION} set on a message to @@ -443,6 +423,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase } } +// TTL / Expiration Handling +//=== + /** * Tests that lack of the absolute-expiry-time and ttl fields on a message results * in it returning 0 for for JMSExpiration @@ -512,6 +495,34 @@ public class MessageIntegrationTest extends QpidJmsTestCase } } +// MessageID and CorrelationID Handling +//== + +@Test(timeout = 2000) +public void testReceiveMessageWithoutMessageId() throws Exception { +try (TestAmqpPeer testPeer = new TestAmqpPeer(IntegrationTestFixture.PORT);) { +Connection connection = testFixture.establishConnecton(testPeer); +connection.start(); + +testPeer.expectBegin(true); + +Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); +Queue queue = session.createQueue(myQueue); + +DescribedType amqpValueNullContent = new AmqpValueDescribedType(null); + +testPeer.expectReceiverAttach(); +testPeer.expectLinkFlowRespondWithTransfer(null, null, null, null, amqpValueNullContent); +
[3/4] git commit: add note about need to check limit to prevent excess provider creation attempts
add note about need to check limit to prevent excess provider creation attempts Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/8b96bd5c Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/8b96bd5c Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/8b96bd5c Branch: refs/heads/master Commit: 8b96bd5c890d5a01d526507f2e478fe8bbffc543 Parents: 47cf6e4 Author: Robert Gemmell rob...@apache.org Authored: Thu Oct 16 12:20:08 2014 +0100 Committer: Robert Gemmell rob...@apache.org Committed: Thu Oct 16 16:55:32 2014 +0100 -- .../org/apache/qpid/jms/provider/failover/FailoverProvider.java| 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8b96bd5c/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java index ca8a5e6..77820a6 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java @@ -518,6 +518,8 @@ public class FailoverProvider extends DefaultProviderListener implements Provide return; } +// TODO: if this is already at/past the limit when we arrive, we should +// stop here rather than initialise the provider and only fail (again) after. reconnectAttempts++; Throwable failure = null; URI target = uris.getNext(); - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[2/4] git commit: add message to assertion to aid during test failure
add message to assertion to aid during test failure Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/47cf6e4c Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/47cf6e4c Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/47cf6e4c Branch: refs/heads/master Commit: 47cf6e4c0431a4b0779a2576648281dbcf18690b Parents: 6bcb554 Author: Robert Gemmell rob...@apache.org Authored: Thu Oct 16 11:55:06 2014 +0100 Committer: Robert Gemmell rob...@apache.org Committed: Thu Oct 16 16:55:32 2014 +0100 -- .../java/org/apache/qpid/jms/failover/FailoverProviderTest.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/47cf6e4c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java -- diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java index a458ab7..7e4e5b3 100644 --- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java +++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java @@ -87,6 +87,6 @@ public class FailoverProviderTest extends AmqpTestSupport { provider.connect(); -assertTrue(failed.await(2, TimeUnit.SECONDS)); +assertTrue(Did not trip latch within expected time, failed.await(2, TimeUnit.SECONDS)); } } - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[1/4] git commit: add support for sending+recieving byte encoded destination type info, disabled on outbound pending a final toggle
Repository: qpid-jms Updated Branches: refs/heads/master 7525ab93e - 437a74fb9 add support for sending+recieving byte encoded destination type info, disabled on outbound pending a final toggle Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/437a74fb Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/437a74fb Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/437a74fb Branch: refs/heads/master Commit: 437a74fb98ce172e1b8515a84416469e02d403b4 Parents: 8b96bd5 Author: Robert Gemmell rob...@apache.org Authored: Thu Oct 16 16:51:41 2014 +0100 Committer: Robert Gemmell rob...@apache.org Committed: Thu Oct 16 16:55:32 2014 +0100 -- .../amqp/message/AmqpDestinationHelper.java | 164 +++ .../amqp/message/AmqpJmsMessageFacade.java | 4 +- .../jms/integration/MessageIntegrationTest.java | 86 +- .../amqp/message/AmqpDestinationHelperTest.java | 46 +++--- 4 files changed, 169 insertions(+), 131 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/437a74fb/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java index d492108..b3654a5 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java @@ -37,6 +37,13 @@ public class AmqpDestinationHelper { public static final String TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = x-opt-to-type; public static final String REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = x-opt-reply-type; +// For support of current byte type values +public static final byte QUEUE_TYPE = 0x00; +public static final byte TOPIC_TYPE = 0x01; +public static final byte TEMP_QUEUE_TYPE = 0x02; +public static final byte TEMP_TOPIC_TYPE = 0x03; + +// For support of old string type values static final String QUEUE_ATTRIBUTE = queue; static final String TOPIC_ATTRIBUTE = topic; static final String TEMPORARY_ATTRIBUTE = temporary; @@ -46,18 +53,6 @@ public class AmqpDestinationHelper { public static final String TEMP_QUEUE_ATTRIBUTES_STRING = QUEUE_ATTRIBUTE + , + TEMPORARY_ATTRIBUTE; public static final String TEMP_TOPIC_ATTRIBUTES_STRING = TOPIC_ATTRIBUTE + , + TEMPORARY_ATTRIBUTE; -// TODO - The Type Annotation seems like it could just be a byte value - -/* - * One possible way to encode destination types that isn't a string. - * - * public static final byte QUEUE_TYPE = 0x01; - * public static final byte TOPIC_TYPE = 0x02; - * public static final byte TEMP_MASK = 0x04; - * public static final byte TEMP_TOPIC_TYPE = TOPIC_TYPE | TEMP_MASK; - * public static final byte TEMP_QUEUE_TYPE = QUEUE_TYPE | TEMP_MASK; - */ - /** * Given a destination name string, create a JmsDestination object based on the * configured destination prefix values. If no prefix values are configured or the @@ -95,56 +90,42 @@ public class AmqpDestinationHelper { * * If an address and type description is provided then this will be used to * create the Destination. If the type information is missing, it will be - * derived from the consumer destination if present, or default to a generic + * derived from the consumer destination if present, or default to a queue * destination if not. * * If the address is null then the consumer destination is returned, unless * the useConsumerDestForTypeOnly flag is true, in which case null will be * returned. */ - public JmsDestination getJmsDestination(AmqpJmsMessageFacade message, JmsDestination consumerDestination) { String to = message.getToAddress(); -String toTypeString = (String) message.getMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME); -SetString typeSet = null; +Byte typeByte = getTypeByte(message, TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME); -if (toTypeString != null) { -typeSet = splitAttributes(toTypeString); -} - -return createDestination(to, typeSet, consumerDestination, false); +return createDestination(to, typeByte, consumerDestination, false); } public JmsDestination getJmsReplyTo(AmqpJmsMessageFacade message, JmsDestination consumerDestination) { String replyTo = message.getReplyToAddress(); -String replyToTypeString =
svn commit: r1632369 - in /qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model: AbstractConfiguredObject.java ConfiguredObjectTypeRegistry.java
Author: rgodfrey Date: Thu Oct 16 16:03:44 2014 New Revision: 1632369 URL: http://svn.apache.org/r1632369 Log: QPID-6159 : [Java Broker] AbstractConfiguredObject.getContextKeys() should include default context Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1632369r1=1632368r2=1632369view=diff == --- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java (original) +++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java Thu Oct 16 16:03:44 2014 @@ -1578,7 +1578,7 @@ public abstract class AbstractConfigured @Override public SetString getContextKeys(final boolean excludeSystem) { -MapString,String inheritedContext = new HashMap(); +MapString,String inheritedContext = new HashMap(_model.getTypeRegistry().getDefaultContext()); if(!excludeSystem) { inheritedContext.putAll(System.getenv()); Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1632369r1=1632368r2=1632369view=diff == --- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java (original) +++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java Thu Oct 16 16:03:44 2014 @@ -854,6 +854,9 @@ public class ConfiguredObjectTypeRegistr return map != null ? Collections.unmodifiableMap(map) : Collections.State, MapState, MethodemptyMap(); } - +public MapString,String getDefaultContext() +{ +return Collections.unmodifiableMap(_defaultContext); +} } - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1632372 - /qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
Author: rhs Date: Thu Oct 16 16:05:11 2014 New Revision: 1632372 URL: http://svn.apache.org/r1632372 Log: PROTON-717: disable SSLv3 Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java?rev=1632372r1=1632371r2=1632372view=diff == --- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java (original) +++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java Thu Oct 16 16:05:11 2014 @@ -204,9 +204,24 @@ public class SslEngineFacadeFactory boolean useClientMode = mode == SslDomain.Mode.CLIENT ? true : false; sslEngine.setUseClientMode(useClientMode); +removeSSLv3Support(sslEngine); + return sslEngine; } +private static final String SSLV3_PROTOCOL = SSLv3; + +private static void removeSSLv3Support(final SSLEngine engine) +{ +ListString enabledProtocols = Arrays.asList(engine.getEnabledProtocols()); +if(enabledProtocols.contains(SSLV3_PROTOCOL)) +{ +ListString allowedProtocols = new ArrayListString(enabledProtocols); +allowedProtocols.remove(SSLV3_PROTOCOL); +engine.setEnabledProtocols(allowedProtocols.toArray(new String[allowedProtocols.size()])); +} +} + /** * @param sslPeerDetails is allowed to be null. A non-null value is used to hint that SSL resumption * should be attempted - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1632376 - in /qpid/trunk/qpid/java: amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/ amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ commo
Author: rgodfrey Date: Thu Oct 16 16:12:35 2014 New Revision: 1632376 URL: http://svn.apache.org/r1632376 Log: QPID-6156 : tidy up and ensure that there is no chance of inadvertantly adding an previously unenabled but supported protocol that is not SSLv3 Modified: qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java Modified: qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1632376r1=1632375r2=1632376view=diff == --- qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java (original) +++ qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java Thu Oct 16 16:12:35 2014 @@ -33,6 +33,7 @@ import org.eclipse.jetty.websocket.WebSo import org.eclipse.jetty.websocket.WebSocketClientFactory; import org.apache.qpid.amqp_1_0.client.ConnectionException; +import org.apache.qpid.amqp_1_0.client.SSLUtil; import org.apache.qpid.amqp_1_0.client.TransportProvider; import org.apache.qpid.amqp_1_0.codec.FrameWriter; import org.apache.qpid.amqp_1_0.framing.AMQFrame; @@ -71,7 +72,7 @@ class WebSocketProvider implements Trans sslContextFactory.setSslContext(context); -sslContextFactory.addExcludeProtocols(SSLv3); +sslContextFactory.addExcludeProtocols(SSLUtil.SSLV3_PROTOCOL); factory.start(); return factory; Modified: qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java?rev=1632376r1=1632375r2=1632376view=diff == --- qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java (original) +++ qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java Thu Oct 16 16:12:35 2014 @@ -20,13 +20,6 @@ */ package org.apache.qpid.amqp_1_0.client; -import javax.net.ssl.KeyManager; -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLEngine; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509ExtendedKeyManager; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -37,10 +30,23 @@ import java.security.KeyStore; import java.security.Principal; import java.security.PrivateKey; import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509ExtendedKeyManager; public class SSLUtil { public static final String TRANSPORT_LAYER_SECURITY_CODE = TLS; +public static final String SSLV3_PROTOCOL = SSLv3; public static SSLContext buildSslContext(final String certAlias, final String keyStorePath, @@ -212,4 +218,16 @@ public class SSLUtil return delegate.chooseEngineServerAlias(keyType, issuers, engine); } } + +public static void removeSSLv3Support(final SSLSocket socket) +{ +ListString enabledProtocols = Arrays.asList(socket.getEnabledProtocols()); +if(enabledProtocols.contains(SSLV3_PROTOCOL)) +{ +ListString allowedProtocols = new ArrayList(enabledProtocols); +allowedProtocols.remove(SSLV3_PROTOCOL); +socket.setEnabledProtocols(allowedProtocols.toArray(new String[allowedProtocols.size()])); +} +} + } Modified: qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java?rev=1632376r1=1632375r2=1632376view=diff
svn commit: r1632383 - in /qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model: AbstractConfiguredObjectTest.java testmodel/TestChildCategory.java testmodel/TestRootCategory.ja
Author: rgodfrey Date: Thu Oct 16 16:51:30 2014 New Revision: 1632383 URL: http://svn.apache.org/r1632383 Log: QPID-6159 : add test Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java?rev=1632383r1=1632382r2=1632383view=diff == --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java Thu Oct 16 16:51:30 2014 @@ -24,16 +24,15 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import junit.framework.TestCase; - import org.apache.qpid.server.configuration.IllegalConfigurationException; import org.apache.qpid.server.model.testmodel.TestChildCategory; import org.apache.qpid.server.model.testmodel.TestConfiguredObject; import org.apache.qpid.server.model.testmodel.TestModel; import org.apache.qpid.server.model.testmodel.TestRootCategory; import org.apache.qpid.server.store.ConfiguredObjectRecord; +import org.apache.qpid.test.utils.QpidTestCase; -public class AbstractConfiguredObjectTest extends TestCase +public class AbstractConfiguredObjectTest extends QpidTestCase { private final Model _model = TestModel.getInstance(); @@ -169,6 +168,27 @@ public class AbstractConfiguredObjectTes System.clearProperty(sysPropertyName); } + +public void testDefaultContextIsInContextKeys() +{ +final String objectName = myName; + +MapString, Object attributes = new HashMap(); +attributes.put(ConfiguredObject.NAME, objectName); + + +TestRootCategory object = _model.getObjectFactory().create(TestRootCategory.class, + attributes); + + +assertTrue(context default not in contextKeys, object.getContextKeys(true).contains(TestRootCategory.TEST_CONTEXT_DEFAULT)); +assertEquals(object.getContextValue(String.class, TestRootCategory.TEST_CONTEXT_DEFAULT), default); + +setTestSystemProperty(TestRootCategory.TEST_CONTEXT_DEFAULT, notdefault); +assertTrue(context default not in contextKeys, object.getContextKeys(true).contains(TestRootCategory.TEST_CONTEXT_DEFAULT)); +assertEquals(object.getContextValue(String.class, TestRootCategory.TEST_CONTEXT_DEFAULT), notdefault); +} + public void testStringAttributeValueFromContextVariableProvidedObjectsContext() { String contextToken = ${myReplacement}; Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java?rev=1632383r1=1632382r2=1632383view=diff == --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java Thu Oct 16 16:51:30 2014 @@ -24,12 +24,12 @@ import java.util.Set; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.ManagedAttribute; +import org.apache.qpid.server.model.ManagedContextDefault; import org.apache.qpid.server.model.ManagedObject; @ManagedObject public interface TestChildCategoryX extends TestChildCategoryX extends ConfiguredObjectX { - String NON_INTERPOLATED_VALID_VALUE = ${file.separator}; @ManagedAttribute(validValues = { NON_INTERPOLATED_VALID_VALUE }, defaultValue = ) Modified: qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java?rev=1632383r1=1632382r2=1632383view=diff == --- qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java (original) +++ qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java Thu Oct 16 16:51:30 2014
[1/2] git commit: Enable honoring of the disable message ID value in producer, broker will generate an ID for incoming messages without one.
Repository: qpid-jms Updated Branches: refs/heads/master 437a74fb9 - 0b4311225 Enable honoring of the disable message ID value in producer, broker will generate an ID for incoming messages without one. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/29f2dcda Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/29f2dcda Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/29f2dcda Branch: refs/heads/master Commit: 29f2dcda176c2e878563f215035b7c2420791820 Parents: 437a74f Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 12:17:27 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 12:17:27 2014 -0400 -- .../amqp/message/AmqpJmsMessageFacade.java | 2 +- .../jms/producer/JmsMessageProducerTest.java| 30 2 files changed, 31 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java index 8a6a20b..b767632 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java @@ -231,7 +231,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { if (disableMsgId) { // TODO - ActiveMQ will synthesize a message Id, but I don't think it has been //really well tested, so we should investigate before enabling this. -// setMessageId(null); +setMessageId(null); } if (disableTimestamp) { http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java -- diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java index ceb2d53..254015f 100644 --- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java +++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java @@ -144,6 +144,36 @@ public class JmsMessageProducerTest extends AmqpTestSupport { assertEquals(0, message.getJMSExpiration()); } +@Test +public void testProducerWithNoMessageIdCanBeConsumed() throws Exception { +connection = createAmqpConnection(); +assertNotNull(connection); +connection.start(); + +Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); +assertNotNull(session); +Queue queue = session.createQueue(name.getMethodName()); +MessageProducer producer = session.createProducer(queue); +producer.setDisableMessageID(true); + +QueueViewMBean proxy = getProxyToQueue(name.getMethodName()); +assertEquals(0, proxy.getQueueSize()); + +for (int i = 0; i 10; ++i) { +Message message = session.createMessage(); +producer.send(message); +} + +assertEquals(10, proxy.getQueueSize()); + +MessageConsumer consumer = session.createConsumer(queue); +for (int i = 0; i 10; i++) { +Message message = consumer.receive(5000); +assertNotNull(message); +assertEquals(0, message.getJMSExpiration()); +} +} + private String createLargeString(int sizeInBytes) { byte[] base = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; StringBuilder builder = new StringBuilder(); - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[2/2] git commit: Add tests for some behaviors of onSend
Add tests for some behaviors of onSend Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/0b431122 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/0b431122 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/0b431122 Branch: refs/heads/master Commit: 0b431122506f28145e707822af8f14d0b830f1c3 Parents: 29f2dcd Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 13:55:52 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 13:55:52 2014 -0400 -- .../amqp/message/AmqpJmsMessageFacadeTest.java | 17 + 1 file changed, 17 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0b431122/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java index 016ad86..1966ced 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java @@ -1855,6 +1855,23 @@ public class AmqpJmsMessageFacadeTest extends AmqpJmsMessageTypesTestCase { // === @Test +public void testOnSendWithDisableMessageIdClearsMessageID() throws JMSException { +Message message = Mockito.mock(Message.class); +JmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message); +amqpMessageFacade.onSend(true, false, 0); +Mockito.verify(message).setMessageId(null); +} + +@Test +public void testOnSendWithDisableTimestampClearsTimestamp() throws JMSException { +AmqpJmsMessageFacade message = createNewMessageFacade(); +message.setTimestamp(MAX_UINT); +assertEquals(MAX_UINT, message.getTimestamp()); +message.onSend(false, true, 0); +assertEquals(0, message.getTimestamp()); +} + +@Test public void testIsEmpty() { AmqpJmsMessageFacade message = createNewMessageFacade(); assertTrue(message.isEmpty()); - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[2/3] git commit: Create a specialized session object used soley by the connection to provide a place for things like durable unsubscribe, etc.
Create a specialized session object used soley by the connection to provide a place for things like durable unsubscribe, etc. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1ec8e2ca Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1ec8e2ca Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1ec8e2ca Branch: refs/heads/master Commit: 1ec8e2ca8521819b982b1ba853859a12b32014a5 Parents: 49db0e5 Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 16:51:25 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 16:51:25 2014 -0400 -- .../qpid/jms/provider/amqp/AmqpConnection.java | 8 ++- .../provider/amqp/AmqpConnectionSession.java| 51 .../qpid/jms/provider/amqp/AmqpProvider.java| 2 +- 3 files changed, 58 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java index 97118d7..f3d09b0 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java @@ -48,7 +48,7 @@ public class AmqpConnection extends AbstractAmqpResourceJmsConnectionInfo, Conn private final AmqpProvider provider; private boolean connected; private AmqpSaslAuthenticator authenticator; -private final AmqpSession connectionSession; +private final AmqpConnectionSession connectionSession; private AmqpConnectionProperties properties; private String queuePrefix; @@ -83,7 +83,7 @@ public class AmqpConnection extends AbstractAmqpResourceJmsConnectionInfo, Conn JmsSessionInfo sessionInfo = new JmsSessionInfo(this.info, -1); sessionInfo.setAcknowledgementMode(Session.AUTO_ACKNOWLEDGE); -this.connectionSession = new AmqpSession(this, sessionInfo); +this.connectionSession = new AmqpConnectionSession(this, sessionInfo); } @Override @@ -106,6 +106,10 @@ public class AmqpConnection extends AbstractAmqpResourceJmsConnectionInfo, Conn return temporary; } +public void unsubscribe(String subscriptionName, AsyncResult request) { +connectionSession.unsubscribe(subscriptionName, request); +} + /** * Called on receiving an event from Proton indicating a state change on the remote * side of the Connection. http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java new file mode 100644 index 000..341893e --- /dev/null +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java @@ -0,0 +1,51 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.qpid.jms.provider.amqp; + +import org.apache.qpid.jms.meta.JmsSessionInfo; +import org.apache.qpid.jms.provider.AsyncResult; + +/** + * Subclass of the standard session object used solely by AmqpConnection to + * aid in managing connection resources that require a persistent session. + */ +public class AmqpConnectionSession extends AmqpSession { + +/** + * Create a new instance of a Connection owned Session object. + * + * @param connection + *the connection that owns this session. + * @param info + *the codeJmsSessionInfo/code for the Session to create. + */ +public
[3/3] git commit: Do some cleanup and renaming to make things more consistent.
Do some cleanup and renaming to make things more consistent. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/ec13a0d5 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/ec13a0d5 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/ec13a0d5 Branch: refs/heads/master Commit: ec13a0d50f121a71280f9f074a1a6e94e61bbfd1 Parents: 1ec8e2c Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 18:52:38 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 18:52:38 2014 -0400 -- .../jms/provider/amqp/AbstractAmqpResource.java | 242 --- .../jms/provider/amqp/AmqpAbstractResource.java | 240 ++ .../qpid/jms/provider/amqp/AmqpConnection.java | 14 +- .../qpid/jms/provider/amqp/AmqpConsumer.java| 40 +-- .../jms/provider/amqp/AmqpFixedProducer.java| 6 +- .../qpid/jms/provider/amqp/AmqpProducer.java| 6 +- .../jms/provider/amqp/AmqpQueueBrowser.java | 6 +- .../qpid/jms/provider/amqp/AmqpSession.java | 18 +- .../provider/amqp/AmqpTemporaryDestination.java | 20 +- .../provider/amqp/AmqpTransactionContext.java | 6 +- 10 files changed, 298 insertions(+), 300 deletions(-) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ec13a0d5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java -- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java deleted file mode 100644 index 1175b34..000 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java +++ /dev/null @@ -1,242 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the License); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.qpid.jms.provider.amqp; - -import java.io.IOException; - -import javax.jms.JMSException; -import javax.jms.JMSSecurityException; - -import org.apache.qpid.jms.meta.JmsResource; -import org.apache.qpid.jms.provider.AsyncResult; -import org.apache.qpid.proton.amqp.Symbol; -import org.apache.qpid.proton.amqp.transport.AmqpError; -import org.apache.qpid.proton.amqp.transport.ErrorCondition; -import org.apache.qpid.proton.engine.Endpoint; -import org.apache.qpid.proton.engine.EndpointState; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Abstract base for all AmqpResource implementations to extend. - * - * This abstract class wraps up the basic state management bits so that the concrete - * object don't have to reproduce it. Provides hooks for the subclasses to initialize - * and shutdown. - */ -public abstract class AbstractAmqpResourceR extends JmsResource, E extends Endpoint implements AmqpResource { - -private static final Logger LOG = LoggerFactory.getLogger(AbstractAmqpResource.class); - -protected AsyncResult openRequest; -protected AsyncResult closeRequest; - -protected E endpoint; -protected R info; - -/** - * Creates a new AbstractAmqpResource instance with the JmsResource provided, and - * sets the Endpoint to null. - * - * @param info - *The JmsResource instance that this AmqpResource is managing. - */ -public AbstractAmqpResource(R info) { -this(info, null); -} - -/** - * Creates a new AbstractAmqpResource instance with the JmsResource provided, and - * sets the Endpoint to the given value. - * - * @param info - *The JmsResource instance that this AmqpResource is managing. - * @param endpoint - *The Proton Endpoint instance that this object maps to. - */ -public AbstractAmqpResource(R info, E endpoint) { -this.info = info; -this.endpoint = endpoint; -} - -@Override -public void open(AsyncResult request) { -this.openRequest = request; -doOpen(); -this.endpoint.setContext(this); -
[1/3] git commit: Tests for stat exception thrown when connection is closed.
Repository: qpid-jms Updated Branches: refs/heads/master 0b4311225 - ec13a0d50 Tests for stat exception thrown when connection is closed. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/49db0e5e Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/49db0e5e Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/49db0e5e Branch: refs/heads/master Commit: 49db0e5e84f11274c55c7dfb7ee6f30bacbb1d4f Parents: 0b43112 Author: Timothy Bish tabish...@gmail.com Authored: Thu Oct 16 14:51:09 2014 -0400 Committer: Timothy Bish tabish...@gmail.com Committed: Thu Oct 16 14:51:09 2014 -0400 -- .../org/apache/qpid/jms/JmsConnectionTest.java | 68 1 file changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/49db0e5e/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java -- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java index 841fd51..4f50a37 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.net.URI; import javax.jms.JMSException; +import javax.jms.Session; import org.apache.qpid.jms.message.JmsInboundMessageDispatch; import org.apache.qpid.jms.meta.JmsConnectionInfo; @@ -134,4 +135,71 @@ public class JmsConnectionTest { connection.start(); assertTrue(connection.isConnected()); } + +//-- Test methods fail after connection closed ---// + +@Test(expected=javax.jms.IllegalStateException.class) +public void testSetClientIdAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.setClientID(test-Id); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testStartCalledAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.start(); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testStopCalledAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.stop(); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testSetExceptionListenerAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.setExceptionListener(null); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testFetExceptionListenerAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.getExceptionListener(); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testCreateConnectionConsumerForTopicAfterClose() throws JMSException { +JmsDestination destination = new JmsTopic(test); +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.createConnectionConsumer(destination, null, null, 0); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testCreateConnectionConsumerForQueueAfterClose() throws JMSException { +JmsDestination destination = new JmsQueue(test); +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.createConnectionConsumer(destination, null, null, 0); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testCreateTopicSessionAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); +} + +@Test(expected=javax.jms.IllegalStateException.class) +public void testCreateQueueSessionAfterClose() throws JMSException { +JmsConnection connection = new JmsConnection(ID:TEST:1, provider, clientIdGenerator); +connection.close(); +connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); +} }