From 63422b953f1ebc61eddf05c8ecdb758a2bb9c827 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 8 Dec 2010 14:36:26 +0000 Subject: [PATCH] Re-factoring in support of https://issues.apache.org/bugzilla/show_bug.cgi?id=50360 Move MBean registration from start() to init(). More MBean refactoring expected git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1043437 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/coyote/AbstractProtocolHandler.java | 21 +++++++++++++++++++-- java/org/apache/coyote/LocalStrings.properties | 1 + java/org/apache/coyote/ajp/AjpAprProtocol.java | 15 --------------- java/org/apache/coyote/ajp/AjpProtocol.java | 15 --------------- .../org/apache/coyote/http11/Http11AprProtocol.java | 15 --------------- .../org/apache/coyote/http11/Http11NioProtocol.java | 15 --------------- java/org/apache/coyote/http11/Http11Protocol.java | 15 --------------- 7 files changed, 20 insertions(+), 77 deletions(-) diff --git a/java/org/apache/coyote/AbstractProtocolHandler.java b/java/org/apache/coyote/AbstractProtocolHandler.java index 9ed9b015b..19f697d96 100644 --- a/java/org/apache/coyote/AbstractProtocolHandler.java +++ b/java/org/apache/coyote/AbstractProtocolHandler.java @@ -349,6 +349,23 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler, getLog().info(sm.getString("abstractProtocolHandler.init", getName())); + if (this.domain != null) { + try { + tpOname = new ObjectName(domain + ":" + + "type=ThreadPool,name=" + getName()); + Registry.getRegistry(null, null).registerComponent(endpoint, + tpOname, null); + } catch (Exception e) { + getLog().error(sm.getString( + "abstractProtocolHandler.mbeanRegistrationFailed", + tpOname, getName()), e); + } + rgOname=new ObjectName(domain + + ":type=GlobalRequestProcessor,name=" + getName()); + Registry.getRegistry(null, null).registerComponent(getHandler(), + rgOname, null ); + } + endpoint.setName(getName()); try { @@ -418,9 +435,9 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler, getName()), e); } - if( tpOname!=null ) + if (tpOname != null) Registry.getRegistry(null, null).unregisterComponent(tpOname); - if( rgOname != null ) + if (rgOname != null) Registry.getRegistry(null, null).unregisterComponent(rgOname); } } diff --git a/java/org/apache/coyote/LocalStrings.properties b/java/org/apache/coyote/LocalStrings.properties index 2a97f36a6..bd98a3138 100644 --- a/java/org/apache/coyote/LocalStrings.properties +++ b/java/org/apache/coyote/LocalStrings.properties @@ -17,6 +17,7 @@ abstractProtocolHandler.getAttribute=Get attribute [{0}] with value [{1}] abstractProtocolHandler.setAttribute=Set attribute [{0}] with value [{1}] abstractProtocolHandler.init=Initializing ProtocolHandler [{0}] abstractProtocolHandler.initError=Failed to initialize end point associated with ProtocolHandler [{0}] +abstractProtocolHandler.mbeanRegistrationFailed=Failed to register MBean [{0}] for ProtocolHandler [{1}] abstractProtocolHandler.pause=Pausing ProtocolHandler [{0}] abstractProtocolHandler.pauseError=Failed to pause end point associated with ProtocolHandler [{0}] abstractProtocolHandler.resume=Resuming ProtocolHandler [{0}] diff --git a/java/org/apache/coyote/ajp/AjpAprProtocol.java b/java/org/apache/coyote/ajp/AjpAprProtocol.java index d3dca6e3d..69141ac3f 100644 --- a/java/org/apache/coyote/ajp/AjpAprProtocol.java +++ b/java/org/apache/coyote/ajp/AjpAprProtocol.java @@ -88,21 +88,6 @@ public class AjpAprProtocol extends AbstractAjpProtocol { @Override public void start() throws Exception { - if (this.domain != null ) { - try { - tpOname = new ObjectName - (domain + ":" + "type=ThreadPool,name=" + getName()); - Registry.getRegistry(null, null) - .registerComponent(endpoint, tpOname, null ); - } catch (Exception e) { - log.error("Can't register threadpool" ); - } - rgOname = new ObjectName - (domain + ":type=GlobalRequestProcessor,name=" + getName()); - Registry.getRegistry(null, null).registerComponent - (cHandler.global, rgOname, null); - } - try { endpoint.start(); } catch (Exception ex) { diff --git a/java/org/apache/coyote/ajp/AjpProtocol.java b/java/org/apache/coyote/ajp/AjpProtocol.java index 04d21c5ed..cab49847d 100644 --- a/java/org/apache/coyote/ajp/AjpProtocol.java +++ b/java/org/apache/coyote/ajp/AjpProtocol.java @@ -88,21 +88,6 @@ public class AjpProtocol extends AbstractAjpProtocol { @Override public void start() throws Exception { - if (this.domain != null ) { - try { - tpOname = new ObjectName - (domain + ":" + "type=ThreadPool,name=" + getName()); - Registry.getRegistry(null, null) - .registerComponent(endpoint, tpOname, null ); - } catch (Exception e) { - log.error("Can't register threadpool" ); - } - rgOname = new ObjectName - (domain + ":type=GlobalRequestProcessor,name=" + getName()); - Registry.getRegistry(null, null).registerComponent - (cHandler.global, rgOname, null); - } - try { endpoint.start(); } catch (Exception ex) { diff --git a/java/org/apache/coyote/http11/Http11AprProtocol.java b/java/org/apache/coyote/http11/Http11AprProtocol.java index 7f5072eea..3bd880973 100644 --- a/java/org/apache/coyote/http11/Http11AprProtocol.java +++ b/java/org/apache/coyote/http11/Http11AprProtocol.java @@ -81,21 +81,6 @@ public class Http11AprProtocol extends AbstractHttp11Protocol { @Override public void start() throws Exception { - if( this.domain != null ) { - try { - tpOname=new ObjectName - (domain + ":" + "type=ThreadPool,name=" + getName()); - Registry.getRegistry(null, null) - .registerComponent(endpoint, tpOname, null ); - } catch (Exception e) { - log.error("Can't register threadpool" ); - } - rgOname=new ObjectName - (domain + ":type=GlobalRequestProcessor,name=" + getName()); - Registry.getRegistry(null, null).registerComponent - ( cHandler.global, rgOname, null ); - } - try { endpoint.start(); } catch (Exception ex) { diff --git a/java/org/apache/coyote/http11/Http11NioProtocol.java b/java/org/apache/coyote/http11/Http11NioProtocol.java index 7ff52e624..8e90bd1c8 100644 --- a/java/org/apache/coyote/http11/Http11NioProtocol.java +++ b/java/org/apache/coyote/http11/Http11NioProtocol.java @@ -83,21 +83,6 @@ public class Http11NioProtocol extends AbstractHttp11JsseProtocol { @Override public void start() throws Exception { - if( this.domain != null ) { - try { - tpOname=new ObjectName - (domain + ":" + "type=ThreadPool,name=" + getName()); - Registry.getRegistry(null, null) - .registerComponent(endpoint, tpOname, null ); - } catch (Exception e) { - log.error("Can't register threadpool" ); - } - rgOname=new ObjectName - (domain + ":type=GlobalRequestProcessor,name=" + getName()); - Registry.getRegistry(null, null).registerComponent - ( cHandler.global, rgOname, null ); - } - try { endpoint.start(); } catch (Exception ex) { diff --git a/java/org/apache/coyote/http11/Http11Protocol.java b/java/org/apache/coyote/http11/Http11Protocol.java index f9024556c..fc3391b7c 100644 --- a/java/org/apache/coyote/http11/Http11Protocol.java +++ b/java/org/apache/coyote/http11/Http11Protocol.java @@ -86,21 +86,6 @@ public class Http11Protocol extends AbstractHttp11JsseProtocol { @Override public void start() throws Exception { - if (this.domain != null) { - try { - tpOname = new ObjectName - (domain + ":" + "type=ThreadPool,name=" + getName()); - Registry.getRegistry(null, null) - .registerComponent(endpoint, tpOname, null ); - } catch (Exception e) { - log.error("Can't register endpoint"); - } - rgOname=new ObjectName - (domain + ":type=GlobalRequestProcessor,name=" + getName()); - Registry.getRegistry(null, null).registerComponent - ( cHandler.global, rgOname, null ); - } - try { endpoint.start(); } catch (Exception ex) { -- 2.11.0