[jboss-cvs] JBossAS SVN: r77621 - trunk/cluster/src/main/org/jboss/ha/framework/server/util.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 28 15:45:01 EDT 2008


Author: pferraro
Date: 2008-08-28 15:45:01 -0400 (Thu, 28 Aug 2008)
New Revision: 77621

Modified:
   trunk/cluster/src/main/org/jboss/ha/framework/server/util/PingJndi.java
Log:
[JBAS-5441] Ensure misc HAPartition-based services can handle concurrent JGroups requests.
Code cleanup.  No significant changes.

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/util/PingJndi.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/util/PingJndi.java	2008-08-28 19:43:02 UTC (rev 77620)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/util/PingJndi.java	2008-08-28 19:45:01 UTC (rev 77621)
@@ -24,13 +24,13 @@
 import java.util.ArrayList;
 import java.util.Hashtable;
 
+import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.naming.Context;
 
-import org.jboss.system.ServiceMBeanSupport;
+import org.jboss.ha.framework.server.util.TopologyMonitorService.AddressPort;
 import org.jboss.logging.Logger;
-import  org.jboss.ha.framework.server.util.TopologyMonitorService.AddressPort;
+import org.jboss.system.ServiceMBeanSupport;
 
 /** A utility MBean that can be used as the trigger target of the
  * TopologyMonitorService to probe the state of JNDI on the cluster nodes.
@@ -38,13 +38,12 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public class PingJndi extends ServiceMBeanSupport
-   implements PingJndiMBean
+public class PingJndi extends ServiceMBeanSupport implements PingJndiMBean
 {
-   private String urlPrefix;
-   private String urlSuffix;
-   private String urlPattern;
-   private String[] lookupNames;
+   private volatile String urlPrefix;
+   private volatile String urlSuffix;
+   private volatile String urlPattern;
+   private volatile String[] lookupNames;
 
    /** Get the names of JNDI bindings that should be queried on each host
     * @return the array of target names to test
@@ -52,8 +51,9 @@
     */
    public String[] getLookupNames()
    {
-      return lookupNames;
+      return this.lookupNames;
    }
+
    /** Set the names of JNDI bindings that should be queried on each host
     * @param names
     * @jmx:managed-attribute
@@ -70,7 +70,7 @@
     */
    public String getProviderURLPattern()
    {
-      return urlPattern;
+      return this.urlPattern;
    }
 
    /** Set the regular expression containing the hostname/IP address of
@@ -90,11 +90,11 @@
       this.urlSuffix = "";
       String hostExp = "{host}";
       int hostIndex = regex.indexOf(hostExp);
-      if( hostIndex >= 0 )
+      if (hostIndex >= 0)
       {
-         urlPrefix = regex.substring(0, hostIndex);
+         this.urlPrefix = regex.substring(0, hostIndex);
          int endIndex = hostIndex + hostExp.length();
-         urlSuffix = regex.substring(endIndex);
+         this.urlSuffix = regex.substring(endIndex);
       }
    }
 
@@ -107,53 +107,51 @@
     * TopologyMonitorService. This is used for logging to integrate with
     * the TopologyMonitorService output.
     */
-   public void membershipChanged(ArrayList removed, ArrayList added,
-      ArrayList members, String logLoggerName)
+   public void membershipChanged(ArrayList removed, ArrayList added, ArrayList members, String logLoggerName)
    {
-      log.debug("membershipChanged");
+      this.log.debug("membershipChanged");
       Logger tmsLog = Logger.getLogger(logLoggerName);
-      Hashtable localEnv = null;
+      
       try
       {
          InitialContext localCtx = new InitialContext();
-         localEnv = localCtx.getEnvironment();
+         Hashtable localEnv = localCtx.getEnvironment();
+
+         tmsLog.info("Checking removed hosts JNDI binding");
+         this.doLookups(localEnv, tmsLog, removed);
+         tmsLog.info("Checking added hosts JNDI binding");
+         this.doLookups(localEnv, tmsLog, added);
+         tmsLog.info("Checking members hosts JNDI binding");
+         this.doLookups(localEnv, tmsLog, members);
       }
-      catch(NamingException e)
+      catch (NamingException e)
       {
          tmsLog.error("Failed to obtain InitialContext env", e);
          return;
       }
-
-      tmsLog.info("Checking removed hosts JNDI binding");
-      doLookups(localEnv, tmsLog, removed);
-      tmsLog.info("Checking added hosts JNDI binding");
-      doLookups(localEnv, tmsLog, added);
-      tmsLog.info("Checking members hosts JNDI binding");
-      doLookups(localEnv, tmsLog, members);
    }
 
    private void doLookups(Hashtable localEnv, Logger tmsLog, ArrayList nodes)
    {
-      for(int n = 0; n < nodes.size(); n ++)
+      for (int n = 0; n < nodes.size(); n++)
       {
          AddressPort addrInfo = (AddressPort) nodes.get(n);
-         String providerURL = urlPrefix + addrInfo.getHostName() + urlSuffix;
+         String providerURL = this.urlPrefix + addrInfo.getHostName() + this.urlSuffix;
          Hashtable env = new Hashtable(localEnv);
          env.put(Context.PROVIDER_URL, providerURL);
-         tmsLog.info("Checking names on: "+addrInfo);
+         tmsLog.info("Checking names on: " + addrInfo);
          try
          {
             InitialContext ctx = new InitialContext(env);
-            for(int s = 0; s < lookupNames.length; s ++)
+            for (String name: this.lookupNames)
             {
-               String name = lookupNames[s];
                Object value = ctx.lookup(name);
-               tmsLog.info("lookup("+name+"): "+value);
+               tmsLog.info("lookup(" + name + "): " + value);
             }
          }
-         catch(Exception e)
+         catch (Exception e)
          {
-            tmsLog.error("Failed lookups on: "+addrInfo, e);
+            tmsLog.error("Failed lookups on: " + addrInfo, e);
          }
       }
    }




More information about the jboss-cvs-commits mailing list