You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/03/02 02:39:25 UTC
svn commit: r1296022 - in
/openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery:
MultipointDiscoveryAgent.java MultipointServer.java
Author: dblevins
Date: Fri Mar 2 01:39:24 2012
New Revision: 1296022
URL: http://svn.apache.org/viewvc?rev=1296022&view=rev
Log:
OPENEJB-1789: Multipoint.discoveryHost allows for "bind" of 0.0.0.0
Modified:
openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java
openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java
Modified: openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java?rev=1296022&r1=1296021&r2=1296022&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java (original)
+++ openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointDiscoveryAgent.java Fri Mar 2 01:39:24 2012
@@ -31,6 +31,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.URI;
+import java.util.Map;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -55,6 +56,7 @@ public class MultipointDiscoveryAgent im
private MultipointServer multipointServer;
private boolean debug = true;
private String name;
+ private String discoveryHost;
public MultipointDiscoveryAgent() {
}
@@ -73,6 +75,8 @@ public class MultipointDiscoveryAgent im
port = options.get("port", port);
initialServers = options.get("initialServers", initialServers);
heartRate = options.get("heart_rate", heartRate);
+ discoveryHost = options.get("discoveryHost", host);
+ name = options.get("discoveryName", MultipointServer.randomColor());
Tracker.Builder builder = new Tracker.Builder();
@@ -132,7 +136,7 @@ public class MultipointDiscoveryAgent im
try {
if (running.compareAndSet(false, true)) {
- multipointServer = new MultipointServer(host, port, tracker, name, debug).start();
+ multipointServer = new MultipointServer(host, discoveryHost, port, tracker, name, debug).start();
this.port = multipointServer.getPort();
Modified: openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java
URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java?rev=1296022&r1=1296021&r2=1296022&view=diff
==============================================================================
--- openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java (original)
+++ openejb/branches/openejb-3.1.x/server/openejb-multicast/src/main/java/org/apache/openejb/server/discovery/MultipointServer.java Fri Mar 2 01:39:24 2012
@@ -56,7 +56,6 @@ public class MultipointServer {
private static final URI END_LIST = URI.create("end:list");
- private final String host;
private final int port;
private final Selector selector;
private final URI me;
@@ -86,26 +85,35 @@ public class MultipointServer {
}
public MultipointServer(String host, int port, Tracker tracker, String name, boolean debug) throws IOException {
+ this(host, host, port, tracker, name, debug);
+ }
+
+ public MultipointServer(String bindHost, String broadcastHost, int port, Tracker tracker, String name, boolean debug) throws IOException {
if (tracker == null) throw new NullPointerException("tracker cannot be null");
- this.host = host;
this.tracker = tracker;
this.name = name;
this.debug = debug;
+ String format = String.format("MultipointServer(bindHost=%s, discoveryHost=%s, port=%s, name=%s, debug=%s)", bindHost, broadcastHost, port, name, debug);
+ log.info(format);
ServerSocketChannel serverChannel = ServerSocketChannel.open();
ServerSocket serverSocket = serverChannel.socket();
- InetSocketAddress address = new InetSocketAddress(host, port);
+ InetSocketAddress address = new InetSocketAddress(bindHost, port);
serverSocket.bind(address);
serverChannel.configureBlocking(false);
this.port = serverSocket.getLocalPort();
- me = URI.create("conn://" + this.host + ":" + this.port);
+ if (name != null) {
+ me = URI.create("conn://" + broadcastHost + ":" + this.port + "/" + name);
+ } else {
+ me = URI.create("conn://" + broadcastHost + ":" + this.port);
+ }
selector = Selector.open();
serverChannel.register(selector, SelectionKey.OP_ACCEPT);
- println("Listening");
+ println("Broadcasting");
}
public int getPort() {
@@ -769,12 +777,15 @@ public class MultipointServer {
session = sessions[0];
duplicate = sessions[1];
- session.info(session + "@" + session.hashCode() + " KEEP");
- duplicate.info(duplicate + "@" + duplicate.hashCode() + " KILL");
+ session.trace(session + "@" + session.hashCode() + " KEEP");
+ duplicate.trace(duplicate + "@" + duplicate.hashCode() + " KILL");
duplicate.hangup = true;
}
+ if (session.state == State.GREETING) {
+ session.info(session + "@" + session.hashCode() + " DISCOVERED");
+ }
connections.put(session.uri, session);
}
}
@@ -793,7 +804,7 @@ public class MultipointServer {
'}';
}
- private static String randomColor() {
+ public static String randomColor() {
String[] colors = {
"almond",
"amber",