You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/04/20 18:57:57 UTC

svn commit: r395640 - in /incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp: TcpTransport.java TcpTransportFactory.java TcpTransportServer.java

Author: chirino
Date: Thu Apr 20 09:57:56 2006
New Revision: 395640

URL: http://svn.apache.org/viewcvs?rev=395640&view=rev
Log:
Support "transport." properties when creating a tranport server
Support "socket." properties when creating a transport.

Modified:
    incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java
    incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportFactory.java
    incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java

Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java?rev=395640&r1=395639&r2=395640&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransport.java Thu Apr 20 09:57:56 2006
@@ -28,12 +28,14 @@
 import java.net.SocketTimeoutException;
 import java.net.URI;
 import java.net.UnknownHostException;
+import java.util.Map;
 
 import org.apache.activeio.command.WireFormat;
 import org.apache.activemq.Service;
 import org.apache.activemq.command.Command;
 import org.apache.activemq.transport.Transport;
 import org.apache.activemq.transport.TransportThreadSupport;
+import org.apache.activemq.util.IntrospectionSupport;
 import org.apache.activemq.util.ServiceStopper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -60,6 +62,8 @@
     private int minmumWireFormatVersion;
     private InetSocketAddress socketAddress;
 
+    private Map socketOptions;
+
     
     /**
      * Construct basic helpers
@@ -322,5 +326,9 @@
         if (dataIn != null) {
             dataIn.close();
         }
+    }
+
+    public void setSocketOptions(Map socketOptions) {
+        IntrospectionSupport.setProperties(socket, socketOptions);
     }
 }

Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportFactory.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportFactory.java?rev=395640&r1=395639&r2=395640&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportFactory.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportFactory.java Thu Apr 20 09:57:56 2006
@@ -52,7 +52,9 @@
             TcpTransportServer server = new TcpTransportServer(location, serverSocketFactory);
             server.setWireFormatFactory(createWireFormatFactory(options));
             IntrospectionSupport.setProperties(server, options);
-
+            Map transportOptions = IntrospectionSupport.extractProperties(options, "transport.");
+            server.setTransportOption(transportOptions);
+            
             return server;
         }
         catch (URISyntaxException e) {
@@ -63,6 +65,9 @@
     public Transport configure(Transport transport, WireFormat format, Map options) {
         IntrospectionSupport.setProperties(transport, options);
         TcpTransport tcpTransport = (TcpTransport) transport;
+        Map socketOptions = IntrospectionSupport.extractProperties(options, "socket.");        
+        tcpTransport.setSocketOptions(socketOptions);
+
         if (tcpTransport.isTrace()) {
             transport = new TransportLogger(transport);
         }
@@ -82,6 +87,9 @@
     public Transport compositeConfigure(Transport transport, WireFormat format, Map options) {
         IntrospectionSupport.setProperties(transport, options);
         TcpTransport tcpTransport = (TcpTransport) transport;
+        Map socketOptions = IntrospectionSupport.extractProperties(options, "socket.");        
+        tcpTransport.setSocketOptions(socketOptions);
+
         if (tcpTransport.isTrace()) {
             transport = new TransportLogger(transport);
         }

Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java
URL: http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java?rev=395640&r1=395639&r2=395640&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java Thu Apr 20 09:57:56 2006
@@ -26,6 +26,7 @@
 import java.net.URISyntaxException;
 import java.net.UnknownHostException;
 import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.activeio.command.WireFormat;
 import org.apache.activeio.command.WireFormatFactory;
@@ -55,6 +56,7 @@
     private long maxInactivityDuration = 30000;
     private int minmumWireFormatVersion;
     private boolean trace;
+    private Map transportOptions;
     
     public TcpTransportServer(URI location, ServerSocketFactory serverSocketFactory) throws IOException, URISyntaxException {
         super(location);
@@ -128,6 +130,7 @@
                         options.put("maxInactivityDuration", new Long(maxInactivityDuration));
                         options.put("minmumWireFormatVersion", new Integer(minmumWireFormatVersion));
                         options.put("trace", new Boolean(trace));
+                        options.putAll(transportOptions);
                         WireFormat format = wireFormatFactory.createWireFormat();
                         TcpTransport transport = new TcpTransport(format, socket);
                         Transport configuredTransport = transportFactory.configure(transport, format, options);
@@ -212,5 +215,9 @@
 
     public InetSocketAddress getSocketAddress() {
         return (InetSocketAddress)serverSocket.getLocalSocketAddress();
+    }
+
+    public void setTransportOption(Map transportOptions) {
+        this.transportOptions = transportOptions;
     }
 }