[mod_cluster-commits] mod_cluster SVN: r798 - branches/MOD_CLUSTER_1_0_10_GA_CP/src/main/java/org/jboss/modcluster.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Apr 9 12:59:30 EDT 2012
Author: jfrederic.clere at jboss.com
Date: 2012-04-09 12:59:30 -0400 (Mon, 09 Apr 2012)
New Revision: 798
Modified:
branches/MOD_CLUSTER_1_0_10_GA_CP/src/main/java/org/jboss/modcluster/CatalinaEventHandlerAdapter.java
Log:
Fix for MODCLUSTER-299.
Modified: branches/MOD_CLUSTER_1_0_10_GA_CP/src/main/java/org/jboss/modcluster/CatalinaEventHandlerAdapter.java
===================================================================
--- branches/MOD_CLUSTER_1_0_10_GA_CP/src/main/java/org/jboss/modcluster/CatalinaEventHandlerAdapter.java 2012-04-09 16:51:47 UTC (rev 797)
+++ branches/MOD_CLUSTER_1_0_10_GA_CP/src/main/java/org/jboss/modcluster/CatalinaEventHandlerAdapter.java 2012-04-09 16:59:30 UTC (rev 798)
@@ -24,6 +24,12 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.lang.management.ManagementFactory;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
import org.apache.catalina.Container;
import org.apache.catalina.ContainerEvent;
import org.apache.catalina.ContainerListener;
@@ -44,6 +50,8 @@
/** Initialization flag. */
private volatile boolean init = false;
+ private Boolean isTomcat = null;
+
private ContainerEventHandler<Server, Engine, Context> eventHandler;
// ----------------------------------------------------------- Constructors
@@ -135,7 +143,23 @@
else if (source instanceof Context)
{
// Start a web-app via the /manager (tomcat) application.
- this.eventHandler.startContext((Context) source);
+ // In fact we need to make sure it is coming for /manager (tomcat) otherwise it causes MODCLUSTER-299
+ if (isTomcat == null) {
+ MBeanServer server = ManagementFactory.getPlatformMBeanServer();
+ try {
+ ObjectName name = ObjectName.getInstance("Catalina:type=Server");
+ if (server.isRegistered(name)) {
+ isTomcat = new Boolean(true);
+ } else {
+ isTomcat = new Boolean(false);
+ }
+ } catch(MalformedObjectNameException ex) {
+ isTomcat = new Boolean(false);
+ }
+ }
+ if (isTomcat) {
+ this.eventHandler.startContext((Context) source);
+ }
}
}
else if (type.equals(Lifecycle.BEFORE_STOP_EVENT))
More information about the mod_cluster-commits
mailing list