From 79674ca5dbf959c2064a18a459faebf4fddbbb4a Mon Sep 17 00:00:00 2001 From: Timothy Bish Date: Thu, 1 Mar 2018 19:12:36 -0500 Subject: [PATCH] ARTEMIS-1504 Update Qpid JMS to 0.30.0 and proton-j to 0.26.0 Updates to latest Qpid JMS and the latest Proton-J release --- .../protocol/amqp/proton/handler/ProtonHandler.java | 12 +++++++++++- pom.xml | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java index 666e1470d1..58b49881f3 100644 --- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java +++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ProtonHandler.java @@ -16,7 +16,6 @@ */ package org.apache.activemq.artemis.protocol.amqp.proton.handler; -import javax.security.auth.Subject; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; @@ -26,6 +25,8 @@ import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; +import javax.security.auth.Subject; + import org.apache.activemq.artemis.protocol.amqp.proton.ProtonInitializable; import org.apache.activemq.artemis.protocol.amqp.sasl.ClientSASL; import org.apache.activemq.artemis.protocol.amqp.sasl.SASLResult; @@ -42,6 +43,7 @@ import org.apache.qpid.proton.engine.EndpointState; import org.apache.qpid.proton.engine.Event; import org.apache.qpid.proton.engine.Sasl; import org.apache.qpid.proton.engine.Transport; +import org.apache.qpid.proton.engine.impl.TransportInternal; import org.jboss.logging.Logger; import io.netty.buffer.ByteBuf; @@ -93,6 +95,14 @@ public class ProtonHandler extends ProtonInitializable { }); this.creationTime = System.currentTimeMillis(); this.isServer = isServer; + + try { + ((TransportInternal) transport).setUseReadOnlyOutputBuffer(false); + } catch (NoSuchMethodError nsme) { + // using a version at runtime where the optimization isn't available, ignore + log.trace("Proton output buffer optimisation unavailable"); + } + transport.bind(connection); connection.collect(collector); } diff --git a/pom.xml b/pom.xml index c34fcc4c5e..12b1319381 100644 --- a/pom.xml +++ b/pom.xml @@ -92,10 +92,10 @@ 2.4 2.8.47 4.1.19.Final - 0.25.0 + 0.26.0 3.0.19.Final 1.7.21 - 0.29.0 + 0.30.0 0.9.5 1.0-alpha-1 1