diff options
Diffstat (limited to 'qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java')
-rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java index bb7f059d15..c17527c19c 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/network/Transport.java @@ -20,7 +20,7 @@ */ package org.apache.qpid.transport.network; -import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; import org.apache.qpid.transport.TransportException; @@ -34,7 +34,7 @@ public class Transport public static final String UDP = "udp"; public static final String VM = "vm"; public static final String SOCKET = "socket"; - public static final String MULTICAST = "multicast"; + public static final String MULTICAST = "multicast"; // TODO public static final int DEFAULT_BUFFER_SIZE = 32 * 1024; public static final long DEFAULT_TIMEOUT = 60000; @@ -43,20 +43,35 @@ public class Transport public static final String MINA_TRANSPORT = "org.apache.qpid.transport.network.mina.MinaNetworkTransport"; public static final String IO_TRANSPORT = "org.apache.qpid.transport.network.io.IoNetworkTransport"; - public static final String NIO_TRANSPORT = "org.apache.qpid.transport.network.nio.NioNetworkTransport"; - public static final String NETTY_TRANSPORT = "org.apache.qpid.transport.network.netty.NettyNetworkTransport"; + public static final String NIO_TRANSPORT = "org.apache.qpid.transport.network.nio.NioNetworkTransport"; // TODO + public static final String NETTY_TRANSPORT = "org.apache.qpid.transport.network.netty.NettyNetworkTransport"; // TODO - private static final List<String> _incoming = new ArrayList<String>(); - private static final List<String> _outgoing = new ArrayList<String>(); + private static final List<String> _incoming = new LinkedList<String>(); + private static final List<String> _outgoing = new LinkedList<String>(); public static void registerIncomingTransport(Class<? extends IncomingNetworkTransport> transport) { - _incoming.add(transport.getName()); + registerTransport(_incoming, transport.getName()); + } + + public static void registerIncomingTransport(String transport) + { + registerTransport(_incoming, transport); } public static void registerOutgoingTransport(Class<? extends OutgoingNetworkTransport> transport) { - _outgoing.add(transport.getName()); + registerTransport(_outgoing, transport.getName()); + } + + public static void registerOutgoingTransport(String transport) + { + registerTransport(_outgoing, transport); + } + + private static void registerTransport(List<String> registered, String transport) + { + registered.add(transport); } public static IncomingNetworkTransport getIncomingTransport() throws TransportException @@ -71,7 +86,7 @@ public class Transport public static OutgoingNetworkTransport getOutgoingTransport(String protocol) throws TransportException { - return (OutgoingNetworkTransport) getTransport("outgoing", _outgoing, MINA_TRANSPORT, protocol); + return (OutgoingNetworkTransport) getTransport("outgoing", _outgoing, IO_TRANSPORT, protocol); } private static NetworkTransport getTransport(String direction, List<String> registered, String defaultTransport, String protocol) @@ -95,7 +110,7 @@ public class Transport try { - String transport = System.getProperty("qpid.transport." + direction, MINA_TRANSPORT); + String transport = System.getProperty("qpid.transport." + direction, defaultTransport); Class<?> clazz = Class.forName(transport); NetworkTransport network = (NetworkTransport) clazz.newInstance(); if (protocol == null || network.isCompatible(protocol)) |