[jboss-cvs] JBossAS SVN: r88357 - in projects/naming/branches/Branch_5_0/jnpserver/src: test/java/org/jnp/test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu May 7 09:44:28 EDT 2009
Author: scott.stark at jboss.org
Date: 2009-05-07 09:44:28 -0400 (Thu, 07 May 2009)
New Revision: 88357
Modified:
projects/naming/branches/Branch_5_0/jnpserver/src/main/java/org/jnp/interfaces/NamingContext.java
projects/naming/branches/Branch_5_0/jnpserver/src/test/java/org/jnp/test/NamingTestSuite.java
Log:
JBNAME-27, add a global.jnp.DisableDiscovery property
Modified: projects/naming/branches/Branch_5_0/jnpserver/src/main/java/org/jnp/interfaces/NamingContext.java
===================================================================
--- projects/naming/branches/Branch_5_0/jnpserver/src/main/java/org/jnp/interfaces/NamingContext.java 2009-05-07 13:13:26 UTC (rev 88356)
+++ projects/naming/branches/Branch_5_0/jnpserver/src/main/java/org/jnp/interfaces/NamingContext.java 2009-05-07 13:44:28 UTC (rev 88357)
@@ -24,11 +24,9 @@
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
-import java.io.SerializablePermission;
import java.lang.ref.WeakReference;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.ReflectPermission;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
@@ -45,7 +43,6 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.StringTokenizer;
@@ -161,6 +158,13 @@
public static final String JNP_NAMING_INSTANCE_NAME = "jnp.namingInstanceName";
/**
+ * Global JNP disable discovery system property: -Djboss.global.jnp.disableDiscover=[true|false]
+ * At the VM level, this property controls how disable discovery behaves in
+ * absence of per context jnp.disableDiscovery property.
+ */
+ private static final boolean GLOBAL_JNP_DISABLE_DISCOVERY = Boolean.valueOf(System.getProperty("jboss.global.jnp.disableDiscovery", "false"));
+
+ /**
* The default discovery multicast information
*/
public final static String DEFAULT_DISCOVERY_GROUP_ADDRESS = "230.0.0.4";
@@ -1351,6 +1355,34 @@
}
return linkResult;
}
+
+ protected boolean shouldDiscoveryHappen(boolean globalDisableDiscovery, String perCtxDisableDiscovery)
+ {
+ boolean trace = log.isTraceEnabled();
+ if (!globalDisableDiscovery)
+ {
+ // No global disable, so act as before.
+ if (Boolean.valueOf(perCtxDisableDiscovery) == Boolean.TRUE)
+ {
+ if (trace)
+ log.trace("Skipping discovery due to disable flag in context");
+ return false;
+ }
+ }
+ else
+ {
+ // Global disable on but double check whether there's a per context override.
+ // If disableDiscovery in context is explicitly set to false, do discovery.
+ if (perCtxDisableDiscovery == null || Boolean.valueOf(perCtxDisableDiscovery) == Boolean.TRUE)
+ {
+ if (trace)
+ log.trace("Skipping discovery due to disable flag in context, or disable flag globally (and no override in context)");
+ return false;
+ }
+ }
+
+ return true;
+ }
// Private -------------------------------------------------------
@@ -1484,6 +1516,12 @@
boolean trace = log.isTraceEnabled();
// Check if discovery should be done
String disableDiscovery = (String) serverEnv.get(JNP_DISABLE_DISCOVERY);
+
+ if (!shouldDiscoveryHappen(GLOBAL_JNP_DISABLE_DISCOVERY, disableDiscovery))
+ {
+ return null;
+ }
+
if (Boolean.valueOf(disableDiscovery) == Boolean.TRUE)
{
if (trace)
Modified: projects/naming/branches/Branch_5_0/jnpserver/src/test/java/org/jnp/test/NamingTestSuite.java
===================================================================
--- projects/naming/branches/Branch_5_0/jnpserver/src/test/java/org/jnp/test/NamingTestSuite.java 2009-05-07 13:13:26 UTC (rev 88356)
+++ projects/naming/branches/Branch_5_0/jnpserver/src/test/java/org/jnp/test/NamingTestSuite.java 2009-05-07 13:44:28 UTC (rev 88357)
@@ -47,6 +47,7 @@
suite.addTest(NamingMCUnitTest.suite());
suite.addTest(NamingServerSecurityManagerUnitTest.suite());
suite.addTest(TestJNPSockets.suite());
+ suite.addTest(NamingContextUnitTest.suite());
return suite;
}
More information about the jboss-cvs-commits
mailing list