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: [email protected]
For additional commands, e-mail: [email protected]