Author: kfujino Date: Thu Aug 2 09:36:07 2018 New Revision: 1837285 URL: http://svn.apache.org/viewvc?rev=1837285&view=rev Log: Add JMX support for StaticMembershipService.
Added: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java (with props) Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java?rev=1837285&r1=1837284&r2=1837285&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipService.java Thu Aug 2 09:36:07 2018 @@ -21,13 +21,18 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Properties; +import javax.management.ObjectName; + import org.apache.catalina.tribes.Member; import org.apache.catalina.tribes.MembershipProvider; +import org.apache.catalina.tribes.jmx.JmxRegistry; import org.apache.catalina.tribes.util.StringManager; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; -public class StaticMembershipService extends MembershipServiceBase { +public class StaticMembershipService extends MembershipServiceBase + implements StaticMembershipServiceMBean { + private static final Log log = LogFactory.getLog(StaticMembershipService.class); protected static final StringManager sm = StringManager.getManager(Constants.Package); @@ -35,6 +40,11 @@ public class StaticMembershipService ext private StaticMember localMember; private StaticMembershipProvider provider; + /** + * the ObjectName of this McastService. + */ + private ObjectName oname = null; + public StaticMembershipService() { //default values setDefaults(this.properties); @@ -53,7 +63,10 @@ public class StaticMembershipService ext provider = buildMembershipProvider(); } provider.start(level); - // TODO JMX register + JmxRegistry jmxRegistry = JmxRegistry.getRegistry(channel); + if (jmxRegistry != null) { + this.oname = jmxRegistry.registerJmx(",component=Membership", this); + } } protected StaticMembershipProvider buildMembershipProvider() throws Exception { @@ -71,7 +84,10 @@ public class StaticMembershipService ext public void stop(int level) { try { if (provider != null && provider.stop(level)) { - // TODO JMX unregister + if (oname != null) { + JmxRegistry.getRegistry(channel).unregisterJmx(oname); + oname = null; + } provider = null; channel = null; } @@ -134,24 +150,27 @@ public class StaticMembershipService ext localMember.setLocal(true); } - public long getExpirationTime() { - String expirationTime = properties.getProperty("expirationTime"); - return Long.parseLong(expirationTime); - } + @Override + public long getExpirationTime() { + String expirationTime = properties.getProperty("expirationTime"); + return Long.parseLong(expirationTime); + } public void setExpirationTime(long expirationTime) { properties.setProperty("expirationTime", String.valueOf(expirationTime)); } - public int getConnectTimeout() { - String connectTimeout = properties.getProperty("connectTimeout"); - return Integer.parseInt(connectTimeout); - } + @Override + public int getConnectTimeout() { + String connectTimeout = properties.getProperty("connectTimeout"); + return Integer.parseInt(connectTimeout); + } public void setConnectTimeout(int connectTimeout) { properties.setProperty("connectTimeout", String.valueOf(connectTimeout)); } + @Override public long getRpcTimeout() { String rpcTimeout = properties.getProperty("rpcTimeout"); return Long.parseLong(rpcTimeout); @@ -161,6 +180,7 @@ public class StaticMembershipService ext properties.setProperty("rpcTimeout", String.valueOf(rpcTimeout)); } + @Override public boolean getUseThread() { String useThread = properties.getProperty("useThread"); return Boolean.parseBoolean(useThread); @@ -170,6 +190,7 @@ public class StaticMembershipService ext properties.setProperty("useThread", String.valueOf(useThread)); } + @Override public long getPingInterval() { String pingInterval = properties.getProperty("pingInterval"); return Long.parseLong(pingInterval); Added: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java?rev=1837285&view=auto ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java (added) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java Thu Aug 2 09:36:07 2018 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.catalina.tribes.membership; + +import java.util.Properties; + +import org.apache.catalina.tribes.Member; + +public interface StaticMembershipServiceMBean { + + // Attributes + public long getExpirationTime(); + + public int getConnectTimeout(); + + public long getRpcTimeout(); + + public boolean getUseThread(); + + public long getPingInterval(); + + // Operation + public Properties getProperties(); + + public boolean hasMembers(); + + public String[] getMembersByName(); + + public Member findMemberByName(String name); +} Propchange: tomcat/trunk/java/org/apache/catalina/tribes/membership/StaticMembershipServiceMBean.java ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org