[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