You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kf...@apache.org on 2017/04/12 04:17:56 UTC

svn commit: r1791068 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport: ReceiverBase.java nio/NioReceiver.java nio/NioReceiverMBean.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org