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