Author: kfujino Date: Wed Apr 12 04:17:56 2017 New Revision: 1791068 URL: http://svn.apache.org/viewvc?rev=1791068&view=rev Log: Add MBean for Receiver component.
Added: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java (with props) Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=1791068&r1=1791067&r2=1791068&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Wed Apr 12 04:17:56 2017 @@ -26,11 +26,14 @@ import java.util.concurrent.ThreadFactor import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import javax.management.ObjectName; + import org.apache.catalina.tribes.Channel; import org.apache.catalina.tribes.ChannelMessage; import org.apache.catalina.tribes.ChannelReceiver; import org.apache.catalina.tribes.MessageListener; import org.apache.catalina.tribes.io.ListenCallback; +import org.apache.catalina.tribes.jmx.JmxRegistry; import org.apache.catalina.tribes.util.ExecutorFactory; import org.apache.catalina.tribes.util.StringManager; import org.apache.juli.logging.Log; @@ -82,6 +85,11 @@ public abstract class ReceiverBase imple private ExecutorService executor; private Channel channel; + /** + * the ObjectName of this Receiver. + */ + private ObjectName oname = null; + public ReceiverBase() { } @@ -94,12 +102,20 @@ public abstract class ReceiverBase imple TaskThreadFactory tf = new TaskThreadFactory("Tribes-Task-Receiver" + channelName + "-"); executor = ExecutorFactory.newThreadPool(minThreads, maxThreads, maxIdleTime, TimeUnit.MILLISECONDS, tf); } + // register jmx + JmxRegistry jmxRegistry = JmxRegistry.getRegistry(channel); + if (jmxRegistry != null) this.oname = jmxRegistry.registerJmx(",component=Receiver", this); } @Override public void stop() { if ( executor != null ) executor.shutdownNow();//ignore left overs executor = null; + if (oname != null) { + JmxRegistry jmxRegistry = JmxRegistry.getRegistry(channel); + if (jmxRegistry != null) jmxRegistry.unregisterJmx(oname); + oname = null; + } channel = null; } Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=1791068&r1=1791067&r2=1791068&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Wed Apr 12 04:17:56 2017 @@ -42,7 +42,7 @@ import org.apache.catalina.tribes.util.S import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; -public class NioReceiver extends ReceiverBase implements Runnable { +public class NioReceiver extends ReceiverBase implements Runnable, NioReceiverMBean { private static final Log log = LogFactory.getLog(NioReceiver.class); Added: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java?rev=1791068&view=auto ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java (added) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java Wed Apr 12 04:17:56 2017 @@ -0,0 +1,67 @@ +/* + * 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.transport.nio; + + +public interface NioReceiverMBean { + + // Receiver Attributes + public String getAddress(); + + public boolean getDirect(); + + public int getPort(); + + public int getAutoBind(); + + public int getSecurePort(); + + public int getUdpPort(); + + public long getSelectorTimeout(); + + public int getMaxThreads(); + + public int getMinThreads(); + + public boolean getOoBInline(); + + public int getRxBufSize(); + + public int getTxBufSize(); + + public int getUdpRxBufSize(); + + public int getUdpTxBufSize(); + + public boolean getSoKeepAlive(); + + public boolean getSoLingerOn(); + + public int getSoLingerTime(); + + public boolean getSoReuseAddress(); + + public boolean getTcpNoDelay(); + + public int getTimeout(); + + public boolean getUseBufferPool(); + + public boolean isListening(); +} Propchange: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiverMBean.java ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org