diff options
Diffstat (limited to 'java/common/src')
4 files changed, 27 insertions, 14 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/ToyClient.java b/java/common/src/main/java/org/apache/qpid/ToyClient.java index 8163210f14..3491af8cd2 100644 --- a/java/common/src/main/java/org/apache/qpid/ToyClient.java +++ b/java/common/src/main/java/org/apache/qpid/ToyClient.java @@ -52,7 +52,7 @@ class ToyClient implements SessionListener public static final void main(String[] args) { Connection conn = new Connection(); - conn.connect("0.0.0.0", 5672, null, "guest", "guest"); + conn.connect("0.0.0.0", 5672, null, "guest", "guest", false); Session ssn = conn.createSession(); ssn.setSessionListener(new ToyClient()); diff --git a/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/java/common/src/main/java/org/apache/qpid/transport/Connection.java index f4dc4408be..7a66c2c238 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Connection.java +++ b/java/common/src/main/java/org/apache/qpid/transport/Connection.java @@ -155,7 +155,7 @@ public class Connection extends ConnectionInvoker return saslClient; } - public void connect(String host, int port, String vhost, String username, String password) + public void connect(String host, int port, String vhost, String username, String password,boolean ssl) { synchronized (lock) { @@ -163,7 +163,7 @@ public class Connection extends ConnectionInvoker delegate = new ClientDelegate(vhost, username, password); - IoTransport.connect(host, port, ConnectionBinding.get(this)); + IoTransport.connect(host, port, ConnectionBinding.get(this),ssl); send(new ProtocolHeader(1, 0, 10)); Waiter w = new Waiter(lock, timeout); diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoTransport.java b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoTransport.java index be17766740..8d52c3269a 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoTransport.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoTransport.java @@ -26,6 +26,8 @@ import java.net.Socket; import java.net.SocketException; import java.nio.ByteBuffer; +import javax.net.ssl.SSLSocketFactory; + import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; import org.apache.qpid.transport.Binding; import org.apache.qpid.transport.Connection; @@ -98,22 +100,24 @@ public final class IoTransport<E> } public static final <E> E connect(String host, int port, - Binding<E,ByteBuffer> binding) + Binding<E,ByteBuffer> binding, + boolean ssl) { - Socket socket = createSocket(host, port); + Socket socket = createSocket(host, port,ssl); IoTransport<E> transport = new IoTransport<E>(socket, binding); return transport.endpoint; } public static final Connection connect(String host, int port, - ConnectionDelegate delegate) + ConnectionDelegate delegate, + boolean ssl) { - return connect(host, port, ConnectionBinding.get(delegate)); + return connect(host, port, ConnectionBinding.get(delegate),ssl); } - public static void connect_0_9(AMQVersionAwareProtocolSession session, String host, int port) + public static void connect_0_9(AMQVersionAwareProtocolSession session, String host, int port, boolean ssl) { - connect(host, port, new Binding_0_9(session)); + connect(host, port, new Binding_0_9(session),ssl); } private static class Binding_0_9 @@ -140,12 +144,21 @@ public final class IoTransport<E> } - private static Socket createSocket(String host, int port) + private static Socket createSocket(String host, int port, boolean ssl) { try { InetAddress address = InetAddress.getByName(host); - Socket socket = new Socket(); + Socket socket; + if (ssl) + { + SSLSocketFactory sslSocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); + socket = sslSocketfactory.createSocket(); + } + else + { + socket = new Socket(); + } socket.setReuseAddress(true); socket.setTcpNoDelay(Boolean.getBoolean("amqj.tcpNoDelay")); diff --git a/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java b/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java index 19e1c2537f..b1fe08bfb9 100644 --- a/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java +++ b/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java @@ -139,7 +139,7 @@ public class ConnectionTest extends TestCase implements SessionListener } } }); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest",false); return conn; } @@ -170,7 +170,7 @@ public class ConnectionTest extends TestCase implements SessionListener public void testResume() throws Exception { Connection conn = new Connection(); - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest",false); conn.setConnectionListener(new ConnectionListener() { @@ -182,7 +182,7 @@ public class ConnectionTest extends TestCase implements SessionListener public void closed(Connection conn) { queue = true; - conn.connect("localhost", port, null, "guest", "guest"); + conn.connect("localhost", port, null, "guest", "guest",false); conn.resume(); } }); |
