diff options
Diffstat (limited to 'java/client/src/main')
3 files changed, 16 insertions, 6 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java index c82afd3906..261efd4f3b 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java @@ -202,7 +202,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _clientName = connectionURL.getClientName(); _username = connectionURL.getUsername(); _password = connectionURL.getPassword(); - _virtualHost = connectionURL.getVirtualHost(); + setVirtualHost(connectionURL.getVirtualHost()); _failoverPolicy = new FailoverPolicy(connectionURL); @@ -313,6 +313,15 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect _clientName = clientName; _username = username; _password = password; + setVirtualHost(virtualHost); + } + + private void setVirtualHost(String virtualHost) + { + if(virtualHost.startsWith("/")) + { + virtualHost = virtualHost.substring(1); + } _virtualHost = virtualHost; } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java index b32a0ffdc4..c134c2093b 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionURL.java @@ -114,10 +114,6 @@ public class AMQConnectionURL implements ConnectionURL if (virtualHost != null && (!virtualHost.equals(""))) { - if(virtualHost.startsWith("/")) - { - virtualHost = virtualHost.substring(1); - } setVirtualHost(virtualHost); } else diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java index 3f4e0022ca..2adafb8be7 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionTuneMethodHandler.java @@ -63,7 +63,12 @@ public class ConnectionTuneMethodHandler implements StateAwareMethodListener stateManager.changeState(AMQState.CONNECTION_NOT_OPENED); protocolSession.writeFrame(createTuneOkFrame(evt.getChannelId(), params)); - protocolSession.writeFrame(createConnectionOpenFrame(evt.getChannelId(), new AMQShortString(protocolSession.getAMQConnection().getVirtualHost()), null, true)); + + String host = protocolSession.getAMQConnection().getVirtualHost(); + AMQShortString virtualHost = new AMQShortString("/" + host); + + + protocolSession.writeFrame(createConnectionOpenFrame(evt.getChannelId(), virtualHost, null, true)); } protected AMQFrame createConnectionOpenFrame(int channel, AMQShortString path, AMQShortString capabilities, boolean insist) |
