diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-08-31 00:24:59 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-08-31 00:24:59 +0000 |
commit | a615f00540d348760af5eb153ee4ece4be470e1e (patch) | |
tree | f7da4c7c3fd06a713e2ca11073e4ca2a7c9a2802 /java/client/src | |
parent | 67274ae7cdc6bbbd9ae415230e4d5894564cac13 (diff) | |
download | qpid-python-a615f00540d348760af5eb153ee4ece4be470e1e.tar.gz |
QPID-3373 Applying Pavel's patch. I also added the same fix for the
createXAConnection method with user,password.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1163457 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src')
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQConnectionFactory.java | 65 |
1 files changed, 42 insertions, 23 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionFactory.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionFactory.java index fc2d6c94eb..f0c003e02a 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQConnectionFactory.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnectionFactory.java @@ -113,27 +113,35 @@ public class AMQConnectionFactory implements ConnectionFactory, QueueConnectionF public Connection createConnection(String userName, String password, String id) throws JMSException { - try + if (_connectionDetails != null) { - _connectionDetails.setUsername(userName); - _connectionDetails.setPassword(password); - - if (id != null && !id.equals("")) + try { - _connectionDetails.setClientName(id); - } - else if (_connectionDetails.getClientName() == null || _connectionDetails.getClientName().equals("")) + ConnectionURL connectionDetails = new AMQConnectionURL(_connectionDetails.toString()); + connectionDetails.setUsername(userName); + connectionDetails.setPassword(password); + + if (id != null && !id.equals("")) + { + connectionDetails.setClientName(id); + } + else if (connectionDetails.getClientName() == null || connectionDetails.getClientName().equals("")) + { + connectionDetails.setClientName(getUniqueClientID()); + } + return new AMQConnection(connectionDetails); + } + catch (Exception e) { - _connectionDetails.setClientName(getUniqueClientID()); + JMSException jmse = new JMSException("Error creating connection: " + e.getMessage()); + jmse.setLinkedException(e); + jmse.initCause(e); + throw jmse; } - return new AMQConnection(_connectionDetails); } - catch (Exception e) + else { - JMSException jmse = new JMSException("Error creating connection: " + e.getMessage()); - jmse.setLinkedException(e); - jmse.initCause(e); - throw jmse; + throw new JMSException("The connection factory wasn't created with a proper URL, the connection details are empty"); } } @@ -285,19 +293,30 @@ public class AMQConnectionFactory implements ConnectionFactory, QueueConnectionF { if (_connectionDetails != null) { - _connectionDetails.setUsername(username); - _connectionDetails.setPassword(password); - - if (_connectionDetails.getClientName() == null || _connectionDetails.getClientName().equals("")) + try { - _connectionDetails.setClientName(getUniqueClientID()); + ConnectionURL connectionDetails = new AMQConnectionURL(_connectionDetails.toString()); + connectionDetails.setUsername(username); + connectionDetails.setPassword(password); + + if (connectionDetails.getClientName() == null || connectionDetails.getClientName().equals("")) + { + connectionDetails.setClientName(getUniqueClientID()); + } + return new XAConnectionImpl(connectionDetails); + } + catch (Exception e) + { + JMSException jmse = new JMSException("Error creating XA Connection: " + e.getMessage()); + jmse.setLinkedException(e); + jmse.initCause(e); + throw jmse; } } else { - throw new JMSException("A URL must be specified to access XA connections"); - } - return createXAConnection(); + throw new JMSException("The connection factory wasn't created with a proper URL, the connection details are empty"); + } } |