[infinispan-commits] Infinispan SVN: r849 - in trunk/core/src: main/java/org/infinispan/remoting/transport/jgroups and 3 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Sep 23 15:11:33 EDT 2009
Author: vblagojevic at jboss.com
Date: 2009-09-23 15:11:33 -0400 (Wed, 23 Sep 2009)
New Revision: 849
Modified:
trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/JGroupsTransport.java
trunk/core/src/main/resources/config-samples/all.xml
trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
trunk/core/src/test/resources/configs/named-cache-test.xml
Log:
[ISPN-181] - Specify node name in JGroups channel
Modified: trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-23 17:50:07 UTC (rev 848)
+++ trunk/core/src/main/java/org/infinispan/config/GlobalConfiguration.java 2009-09-23 19:11:33 UTC (rev 849)
@@ -199,6 +199,14 @@
public void setMarshallerClass(String marshallerClass) {
serialization.setMarshallerClass(marshallerClass);
}
+
+ public String getTransportNodeName() {
+ return transport.nodeName;
+ }
+
+ public void setTransportNodeName(String nodeName) {
+ transport.setNodeName(nodeName);
+ }
public String getTransportClass() {
return transport.transportClass;
@@ -519,6 +527,11 @@
/** @configRef desc="Fully qualified name of a class that implements network transport"*/
protected String transportClass = null; // this defaults to a non-clustered cache.
+ /**
+ * @confgRef desc="Node name for the underlying transport channel"
+ */
+ protected String nodeName = null;
+
protected TypedProperties properties = EMPTY_PROPERTIES;
public TransportType() {
@@ -553,7 +566,13 @@
this.transportClass = transportClass;
}
- @XmlElement
+ @XmlAttribute
+ public void setNodeName(String nodeName) {
+ testImmutability("nodeName");
+ this.nodeName = nodeName;
+ }
+
+ @XmlElement
public void setProperties(TypedProperties properties) {
testImmutability("properties");
this.properties = properties;
Modified: trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/JGroupsTransport.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/JGroupsTransport.java 2009-09-23 17:50:07 UTC (rev 848)
+++ trunk/core/src/main/java/org/infinispan/remoting/transport/jgroups/JGroupsTransport.java 2009-09-23 19:11:33 UTC (rev 849)
@@ -166,6 +166,13 @@
buildChannel();
// Channel.LOCAL *must* be set to false so we don't see our own messages - otherwise invalidations targeted at
// remote instances will be received by self.
+ String transportNodeName = c.getTransportNodeName();
+ if(transportNodeName != null && transportNodeName.length()>0) {
+ long range = Short.MAX_VALUE *2;
+ long randomInRange = (long)((Math.random() * range) % range) + 1;
+ transportNodeName = transportNodeName + "-" + randomInRange;
+ channel.setName(transportNodeName);
+ }
channel.setOpt(Channel.LOCAL, false);
channel.setOpt(Channel.BLOCK, true);
dispatcher = new CommandAwareRpcDispatcher(channel, this,
Modified: trunk/core/src/main/resources/config-samples/all.xml
===================================================================
--- trunk/core/src/main/resources/config-samples/all.xml 2009-09-23 17:50:07 UTC (rev 848)
+++ trunk/core/src/main/resources/config-samples/all.xml 2009-09-23 19:11:33 UTC (rev 849)
@@ -42,7 +42,7 @@
There is no added cost to defining a transport but not creating a cache that uses one, since the transport
is created and initialized lazily.
-->
- <transport clusterName="infinispan-cluster" distributedSyncTimeout="50000">
+ <transport clusterName="infinispan-cluster" distributedSyncTimeout="50000" nodeName="Jalapeno">
<!-- Note that the JGroups transport uses sensible defaults if no configuration property is defined. -->
<properties>
<property name="configurationFile" value="udp.xml"/>
Modified: trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2009-09-23 17:50:07 UTC (rev 848)
+++ trunk/core/src/test/java/org/infinispan/config/parsing/XmlFileParsingTest.java 2009-09-23 19:11:33 UTC (rev 849)
@@ -87,6 +87,7 @@
assert gc.getTransportClass().equals("org.infinispan.remoting.transport.jgroups.JGroupsTransport");
assert gc.getClusterName().equals("infinispan-cluster");
+ assert gc.getTransportNodeName().equals("Jalapeno");
assert gc.getDistributedSyncTimeout() == 50000;
assert gc.getShutdownHookBehavior().equals(ShutdownHookBehavior.REGISTER);
Modified: trunk/core/src/test/resources/configs/named-cache-test.xml
===================================================================
--- trunk/core/src/test/resources/configs/named-cache-test.xml 2009-09-23 17:50:07 UTC (rev 848)
+++ trunk/core/src/test/resources/configs/named-cache-test.xml 2009-09-23 19:11:33 UTC (rev 849)
@@ -29,7 +29,7 @@
</properties>
</replicationQueueScheduledExecutor>
- <transport clusterName="infinispan-cluster" distributedSyncTimeout="50000">
+ <transport clusterName="infinispan-cluster" distributedSyncTimeout="50000" nodeName="Jalapeno">
<!-- Note that the JGroups transport uses sensible defaults if no configuration property is defined. -->
<properties>
<property name="configurationFile" value="udp.xml"/>
More information about the infinispan-commits
mailing list