Repository: qpid-jms
Updated Branches:
  refs/heads/master b1bf687e4 -> 9ab5ed159


limit default channel-max to the signed short range for compatibility


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/9ab5ed15
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/9ab5ed15
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/9ab5ed15

Branch: refs/heads/master
Commit: 9ab5ed159ac2b1f3213e77183d78aafb50e4e4e6
Parents: b1bf687
Author: Robert Gemmell <[email protected]>
Authored: Tue Oct 28 10:52:14 2014 +0000
Committer: Robert Gemmell <[email protected]>
Committed: Tue Oct 28 10:52:14 2014 +0000

----------------------------------------------------------------------
 .../apache/qpid/jms/provider/amqp/AmqpProvider.java    | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/9ab5ed15/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
index 4766bf0..200a367 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProvider.java
@@ -81,6 +81,9 @@ public class AmqpProvider extends AbstractProvider implements 
TransportListener
     private static final Logger TRACE_BYTES = 
LoggerFactory.getLogger(AmqpConnection.class.getPackage().getName() + ".BYTES");
     private static final Logger TRACE_FRAMES = 
LoggerFactory.getLogger(AmqpConnection.class.getPackage().getName() + 
".FRAMES");
     private static final int DEFAULT_MAX_FRAME_SIZE = 1024 * 1024 * 1;
+    // NOTE: Limit default channel max to signed short range to deal with
+    //       brokers that don't currently handle the unsigned range well.
+    private static final int DEFAULT_CHANNEL_MAX = 32767;
 
     private AmqpConnection connection;
     private org.apache.qpid.jms.transports.Transport transport;
@@ -93,6 +96,7 @@ public class AmqpProvider extends AbstractProvider implements 
TransportListener
     private long closeTimeout = JmsConnectionInfo.DEFAULT_CLOSE_TIMEOUT;
     private long requestTimeout = JmsConnectionInfo.DEFAULT_REQUEST_TIMEOUT;
     private long sendTimeout = JmsConnectionInfo.DEFAULT_SEND_TIMEOUT;
+    private int channelMax = DEFAULT_CHANNEL_MAX;
 
     private final Transport protonTransport = Transport.Factory.create();
     private final Collector protonCollector = new CollectorImpl();
@@ -235,6 +239,7 @@ public class AmqpProvider extends AbstractProvider 
implements TransportListener
 
                             Connection protonConnection = 
Connection.Factory.create();
                             protonTransport.setMaxFrameSize(getMaxFrameSize());
+                            protonTransport.setChannelMax(getChannelMax());
                             protonTransport.bind(protonConnection);
                             protonConnection.collect(protonCollector);
                             Sasl sasl = protonTransport.sasl();
@@ -843,4 +848,12 @@ public class AmqpProvider extends AbstractProvider 
implements TransportListener
     public String toString() {
         return "AmqpProvider: " + getRemoteURI().getHost() + ":" + 
getRemoteURI().getPort();
     }
+
+    public int getChannelMax() {
+        return channelMax;
+    }
+
+    public void setChannelMax(int channelMax) {
+        this.channelMax = channelMax;
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to