summaryrefslogtreecommitdiff
path: root/qpid/java/amqp-1-0-client-jms
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-01-09 16:53:51 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-01-09 16:53:51 +0000
commit30d213dc1e6d743f2f0abb44c8bc91868d5126b1 (patch)
treef3d16257ed0a431f2f4c43166f4df84ccb877a6c /qpid/java/amqp-1-0-client-jms
parentb165cf52a4ef16ac5a5ee181d4da2db351f7882d (diff)
downloadqpid-python-30d213dc1e6d743f2f0abb44c8bc91868d5126b1.tar.gz
QPID-5459 : Add WebSocket transport support to the Java Broker and AMQP 1-0 JMS client
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1556873 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/amqp-1-0-client-jms')
-rw-r--r--qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java21
-rw-r--r--qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java12
2 files changed, 29 insertions, 4 deletions
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java
index f58a78e7e3..f72c9b3020 100644
--- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java
+++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java
@@ -36,6 +36,7 @@ import org.apache.qpid.amqp_1_0.jms.ConnectionFactory;
public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnectionFactory, QueueConnectionFactory
{
+ private final String _protocol;
private String _host;
private int _port;
private String _username;
@@ -98,6 +99,20 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection
final boolean ssl,
final int maxSessions)
{
+ this(ssl?"amqps":"amqp",host,port,username,password,clientId,remoteHost,ssl,maxSessions);
+ }
+
+ public ConnectionFactoryImpl(final String protocol,
+ final String host,
+ final int port,
+ final String username,
+ final String password,
+ final String clientId,
+ final String remoteHost,
+ final boolean ssl,
+ final int maxSessions)
+ {
+ _protocol = protocol;
_host = host;
_port = port;
_username = username;
@@ -115,7 +130,7 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection
public ConnectionImpl createConnection(final String username, final String password) throws JMSException
{
- ConnectionImpl connection = new ConnectionImpl(_host, _port, username, password, _clientId, _remoteHost, _ssl, _maxSessions);
+ ConnectionImpl connection = new ConnectionImpl(_protocol,_host, _port, username, password, _clientId, _remoteHost, _ssl, _maxSessions);
connection.setQueuePrefix(_queuePrefix);
connection.setTopicPrefix(_topicPrefix);
connection.setUseBinaryMessageId(_useBinaryMessageId);
@@ -138,10 +153,12 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection
{
protocol = "amqp";
}
+/*
else if(!protocol.equals("amqp") && !protocol.equals("amqps"))
{
throw new MalformedURLException("Protocol '"+protocol+"' unknown. Must be one of 'amqp' or 'amqps'.");
}
+*/
String host = url.getHost();
int port = url.getPort();
@@ -226,7 +243,7 @@ public class ConnectionFactoryImpl implements ConnectionFactory, TopicConnection
}
ConnectionFactoryImpl connectionFactory =
- new ConnectionFactoryImpl(host, port, username, password, clientId, remoteHost, ssl, maxSessions);
+ new ConnectionFactoryImpl(protocol,host, port, username, password, clientId, remoteHost, ssl, maxSessions);
connectionFactory.setUseBinaryMessageId(binaryMessageId);
connectionFactory.setSyncPublish(syncPublish);
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java
index f3ae849dac..55bc8e4f96 100644
--- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java
+++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java
@@ -38,6 +38,7 @@ import org.apache.qpid.amqp_1_0.type.transport.Error;
public class ConnectionImpl implements Connection, QueueConnection, TopicConnection
{
+ private final String _protocol;
private ConnectionMetaData _connectionMetaData;
private volatile ExceptionListener _exceptionListener;
@@ -87,8 +88,15 @@ public class ConnectionImpl implements Connection, QueueConnection, TopicConnect
this(host, port, username, password, clientId, remoteHost, ssl,0);
}
+
public ConnectionImpl(String host, int port, String username, String password, String clientId, String remoteHost, boolean ssl, int maxSessions) throws JMSException
{
+ this(ssl?"amqps":"amqp",host,port,username,password,clientId,remoteHost,ssl,maxSessions);
+ }
+
+ public ConnectionImpl(String protocol, String host, int port, String username, String password, String clientId, String remoteHost, boolean ssl, int maxSessions) throws JMSException
+ {
+ _protocol = protocol;
_host = host;
_port = port;
_username = username;
@@ -109,10 +117,10 @@ public class ConnectionImpl implements Connection, QueueConnection, TopicConnect
_state = State.STOPPED;
Container container = _clientId == null ? new Container() : new Container(_clientId);
- // TODO - authentication, containerId, clientId, ssl?, etc
+
try
{
- _conn = new org.apache.qpid.amqp_1_0.client.Connection(_host,
+ _conn = new org.apache.qpid.amqp_1_0.client.Connection(_protocol, _host,
_port, _username, _password, container, _remoteHost, _ssl,
_maxSessions - 1);
_conn.setConnectionErrorTask(new ConnectionErrorTask());