You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ke...@apache.org on 2010/05/20 21:11:06 UTC

svn commit: r946761 - in /openejb/trunk/openejb3: ./ container/openejb-core/src/test/java/org/apache/openejb/config/ examples/alternate-descriptors/src/main/resources/META-INF/ server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/...

Author: kevan
Date: Thu May 20 19:11:05 2010
New Revision: 946761

URL: http://svn.apache.org/viewvc?rev=946761&view=rev
Log:
OPENEJB-1280 Merge from openejb-3.1.x: Add support for configuration of a list of (comma delimited) peer multipoint servers. Also some cleanup. MultipointServer is now started after we create it. And the server socket bind ip address is now configurable.

Modified:
    openejb/trunk/openejb3/   (props changed)
    openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java   (props changed)
    openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml   (props changed)
    openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java
    openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java
    openejb/trunk/openejb3/server/openejb-multicast/src/main/resources/META-INF/org.apache.openejb.server.ServerService/multipoint

Propchange: openejb/trunk/openejb3/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 20 19:11:05 2010
@@ -1 +1,2 @@
 /openejb/branches/openejb-3.1.1:779593
+/openejb/branches/openejb-3.1.x:945409

Propchange: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 20 19:11:05 2010
@@ -1 +1,2 @@
 /openejb/branches/openejb-3.1.1/container/openejb-core/src/test/java/org/apache/openejb/config/UberInterfaceTest.java:779593
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:945409

Propchange: openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 20 19:11:05 2010
@@ -1 +1,2 @@
 /openejb/branches/openejb-3.1.1/examples/alternate-descriptors/src/main/resources/META-INF/ejb-jar.xml:779593
+/openejb/branches/openejb-3.1.x/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:945409

Modified: openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java?rev=946761&r1=946760&r2=946761&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java (original)
+++ openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java Thu May 20 19:11:05 2010
@@ -36,6 +36,7 @@ import java.net.Socket;
 import java.net.SocketTimeoutException;
 import java.net.URI;
 import java.util.Properties;
+import java.util.StringTokenizer;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -52,6 +53,8 @@ public class MultipointDiscoveryAgent im
     private String host = "127.0.0.1";
     private int port = 4212;
 
+    private String initialServers = "";
+
     private long heartRate = 500;
 
     private Tracker tracker;
@@ -62,6 +65,7 @@ public class MultipointDiscoveryAgent im
         Options options = new Options(props);
         host = props.getProperty("bind", host);
         port = options.get("port", port);
+        initialServers = options.get("initialServers", initialServers);
         heartRate = options.get("heart_rate", heartRate);
 
 
@@ -88,6 +92,10 @@ public class MultipointDiscoveryAgent im
         return port;
     }
 
+    public String getInitialServers() {
+        return initialServers;
+    }
+
     public void setDiscoveryListener(DiscoveryListener listener) {
         this.tracker.setDiscoveryListener(listener);
     }
@@ -116,7 +124,14 @@ public class MultipointDiscoveryAgent im
         try {
             if (running.compareAndSet(false, true)) {
 
-                multipointServer = new MultipointServer(port, tracker);
+                multipointServer = new MultipointServer(host, port, tracker).start();
+
+                // Connect the initial set of peer servers
+                StringTokenizer st = new StringTokenizer(initialServers, ",");
+                while (st.hasMoreTokens()) {
+                    multipointServer.connect(URI.create("conn://"+st.nextToken()));
+                }
+
             }
         } catch (Exception e) {
             throw new ServiceException(e);

Modified: openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java?rev=946761&r1=946760&r2=946761&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java (original)
+++ openejb/trunk/openejb3/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java Thu May 20 19:11:05 2010
@@ -50,6 +50,7 @@ import java.util.concurrent.atomic.Atomi
 public class MultipointServer {
     private static final Logger log = Logger.getInstance(LogCategory.OPENEJB_SERVER.createChild("discovery"), MultipointServer.class);
 
+    private final String host;
     private final int port;
     private final Selector selector;
     private final URI me;
@@ -59,17 +60,21 @@ public class MultipointServer {
     private final LinkedList<URI> connect = new LinkedList<URI>();
     private final Map<URI, Session> connections = new HashMap<URI, Session>();
 
-
     public MultipointServer(int port, Tracker tracker) throws IOException {
+        this("localhost", port, tracker);
+    }
+
+    public MultipointServer(String host, int port, Tracker tracker) throws IOException {
         if (tracker == null) throw new NullPointerException("tracker cannot be null");
+        this.host = host;
         this.port = port;
         this.tracker = tracker;
-        me = URI.create("conn://localhost:" + port);
+        me = URI.create("conn://" + host + ":" + port);
 
         ServerSocketChannel serverChannel = ServerSocketChannel.open();
 
         ServerSocket serverSocket = serverChannel.socket();
-        InetSocketAddress address = new InetSocketAddress(port);
+        InetSocketAddress address = new InetSocketAddress(host,port);
         serverSocket.bind(address);
         serverChannel.configureBlocking(false);
 

Modified: openejb/trunk/openejb3/server/openejb-multicast/src/main/resources/META-INF/org.apache.openejb.server.ServerService/multipoint
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-multicast/src/main/resources/META-INF/org.apache.openejb.server.ServerService/multipoint?rev=946761&r1=946760&r2=946761&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-multicast/src/main/resources/META-INF/org.apache.openejb.server.ServerService/multipoint (original)
+++ openejb/trunk/openejb3/server/openejb-multicast/src/main/resources/META-INF/org.apache.openejb.server.ServerService/multipoint Thu May 20 19:11:05 2010
@@ -1,4 +1,5 @@
 server      = org.apache.openejb.server.discovery.MultipointDiscoveryAgent
 bind        = 127.0.0.1
 port        = 4212
+initialServers = 
 disabled    = true