[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