Author: azeez
Date: Fri Jan  4 08:12:52 2008
New Revision: 11849

Log:

Enabling JMX for JDK 1.4



Added:
   trunk/commons/utils/src/main/java/org/wso2/utils/ManagementFactory.java
Modified:
   
trunk/commons/statistics/modules/core/src/main/java/org/wso2/statistics/service/StatisticsService.java
   trunk/commons/statistics/pom.xml
   trunk/commons/utils/pom.xml
   trunk/commons/utils/src/main/java/org/wso2/utils/AbstractAdmin.java
   trunk/commons/utils/src/main/java/org/wso2/utils/MBeanRegistrar.java
   
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServerAdmin.java
   
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
   trunk/wsas/java/modules/core/src/org/wso2/wsas/DefaultServerInitializer.java
   trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManagement.java
   trunk/wsas/java/pom.xml

Modified: 
trunk/commons/statistics/modules/core/src/main/java/org/wso2/statistics/service/StatisticsService.java
==============================================================================
--- 
trunk/commons/statistics/modules/core/src/main/java/org/wso2/statistics/service/StatisticsService.java
      (original)
+++ 
trunk/commons/statistics/modules/core/src/main/java/org/wso2/statistics/service/StatisticsService.java
      Fri Jan  4 08:12:52 2008
@@ -40,12 +40,10 @@
 
     static {
         String jmxPort = 
ServerConfiguration.getInstance().getFirstProperty("Ports.JMX");
-        String javaVersion = System.getProperty("java.version");
-        if (jmxPort != null && javaVersion.indexOf("1.4") == -1) { // In WSAS, 
JMX is not supported on JDK 1.4
+        if (jmxPort != null) {
             try {
                 MBeanRegistrar.
-                        registerMBean(new StatisticsService(),
-                                      "WSO2:type=Statistics");
+                        registerMBean(new StatisticsService(), 
"WSO2:type=Statistics");
             } catch (Exception e) {
                 String msg = "Could not register StatisticsService MBean";
                 log.error(msg, e);

Modified: trunk/commons/statistics/pom.xml
==============================================================================
--- trunk/commons/statistics/pom.xml    (original)
+++ trunk/commons/statistics/pom.xml    Fri Jan  4 08:12:52 2008
@@ -135,6 +135,17 @@
             <version>3.2.1</version>
         </dependency>
 
+       <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
+
+         <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j-remote</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
@@ -268,7 +279,7 @@
         <xalan.version>2.7.0</xalan.version>
         <javamail.version>1.4</javamail.version>
         <wsdl4j.version>1.6.1</wsdl4j.version>
-
+        <mx4j.version>3.0.2</mx4j.version>
     </properties>
 
     <profiles>

Modified: trunk/commons/utils/pom.xml
==============================================================================
--- trunk/commons/utils/pom.xml (original)
+++ trunk/commons/utils/pom.xml Fri Jan  4 08:12:52 2008
@@ -96,7 +96,18 @@
             <version>${ant.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
 
+         <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j-remote</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
+        
     </dependencies>
 
     <build>
@@ -276,6 +287,6 @@
 
         <bcprov.jdk13.version>132</bcprov.jdk13.version>
         <bcprov.jdk15.version>132</bcprov.jdk15.version>
-
+        <mx4j.version>3.0.2</mx4j.version>
     </properties>
 </project>

Modified: trunk/commons/utils/src/main/java/org/wso2/utils/AbstractAdmin.java
==============================================================================
--- trunk/commons/utils/src/main/java/org/wso2/utils/AbstractAdmin.java 
(original)
+++ trunk/commons/utils/src/main/java/org/wso2/utils/AbstractAdmin.java Fri Jan 
 4 08:12:52 2008
@@ -27,6 +27,9 @@
  */
 public abstract class AbstractAdmin {
 
+    protected AbstractAdmin() {
+    }
+
     public AxisConfiguration getAxisConfig() {
         try {
             return WSO2ConfigurationContextFactory.

Modified: trunk/commons/utils/src/main/java/org/wso2/utils/MBeanRegistrar.java
==============================================================================
--- trunk/commons/utils/src/main/java/org/wso2/utils/MBeanRegistrar.java        
(original)
+++ trunk/commons/utils/src/main/java/org/wso2/utils/MBeanRegistrar.java        
Fri Jan  4 08:12:52 2008
@@ -17,7 +17,6 @@
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
 import java.util.Set;
 
 /**
@@ -27,7 +26,7 @@
     public static void registerMBean(Object mbeanInstance,
                                      String objectName) throws Exception {
 
-        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+        MBeanServer mbs = ManagementFactory.getMBeanServer();
         Set set = mbs.queryNames(new ObjectName(objectName), null);
         if (set.isEmpty()) {
             mbs.registerMBean(mbeanInstance, new ObjectName(objectName));

Added: trunk/commons/utils/src/main/java/org/wso2/utils/ManagementFactory.java
==============================================================================
--- (empty file)
+++ trunk/commons/utils/src/main/java/org/wso2/utils/ManagementFactory.java     
Fri Jan  4 08:12:52 2008
@@ -0,0 +1,40 @@
+/*                                                                             
+ * Copyright 2004,2005 The Apache Software Foundation.                         
+ *                                                                             
+ * Licensed 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.wso2.utils;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+
+/**
+ * The <tt>ManagementFactory</tt> class is a factory class for getting
+ * managed beans for the Java platform.
+ */
+public class ManagementFactory {
+
+    /**
+     * @return An MBeanServer instance.
+     *         If one already exists, will return that, else will create a new 
one and return
+     */
+    public static MBeanServer getMBeanServer() {
+        MBeanServer mserver;
+        if (MBeanServerFactory.findMBeanServer(null).size() > 0) {
+            mserver = (MBeanServer) 
MBeanServerFactory.findMBeanServer(null).get(0);
+        } else {
+            mserver = MBeanServerFactory.createMBeanServer();
+        }
+        return mserver;
+    }
+}

Modified: 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServerAdmin.java
==============================================================================
--- 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServerAdmin.java  
    (original)
+++ 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServerAdmin.java  
    Fri Jan  4 08:12:52 2008
@@ -41,8 +41,7 @@
 
     static {
         String jmxPort = 
ServerConfiguration.getInstance().getFirstProperty("Ports.JMX");
-        String javaVersion = System.getProperty("java.version");
-        if (jmxPort != null && javaVersion.indexOf("1.4") == -1) { // In WSAS, 
JMX is not supported on JDK 1.4
+        if (jmxPort != null) { 
             try {
                 MBeanRegistrar.
                         registerMBean(new ServerAdmin(), 
"WSO2:type=ServerAdmin");

Modified: 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
==============================================================================
--- 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java 
    (original)
+++ 
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java 
    Fri Jan  4 08:12:52 2008
@@ -118,8 +118,7 @@
 
     static {
         String jmxPort = 
ServerConfiguration.getInstance().getFirstProperty("Ports.JMX");
-        String javaVersion = System.getProperty("java.version");
-        if (jmxPort != null && javaVersion.indexOf("1.4") == -1) { // In WSAS, 
JMX is not supported on JDK 1.4
+        if (jmxPort != null) { 
             try {
                 MBeanRegistrar.
                         registerMBean(new ServiceAdmin(), 
"WSO2:type=ServiceAdmin");

Modified: 
trunk/wsas/java/modules/core/src/org/wso2/wsas/DefaultServerInitializer.java
==============================================================================
--- 
trunk/wsas/java/modules/core/src/org/wso2/wsas/DefaultServerInitializer.java    
    (original)
+++ 
trunk/wsas/java/modules/core/src/org/wso2/wsas/DefaultServerInitializer.java    
    Fri Jan  4 08:12:52 2008
@@ -34,6 +34,7 @@
 import org.wso2.adminui.UIProcessor;
 import org.wso2.tracer.TracerConstants;
 import org.wso2.tracer.module.TracePersister;
+import org.wso2.utils.ManagementFactory;
 import org.wso2.utils.NetworkUtils;
 import org.wso2.utils.ServerConfiguration;
 import org.wso2.utils.ServerException;
@@ -60,17 +61,16 @@
 import javax.management.remote.JMXServiceURL;
 import javax.xml.namespace.QName;
 import java.io.File;
-import java.lang.management.ManagementFactory;
 import java.rmi.registry.LocateRegistry;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Timer;
+
 /*
- * 
+ * The default initializer which initilizes WSAS
  */
-
 public class DefaultServerInitializer implements ServerInitializer {
     private static final Log log = 
LogFactory.getLog(DefaultServerInitializer.class);
 
@@ -138,17 +138,11 @@
     private void startJMXService() throws ServerException {
         String jmxPort = 
ServerConfiguration.getInstance().getFirstProperty("Ports.JMX");
         if (jmxPort != null) {
-            String javaVersion = System.getProperty("java.version");
-            if (javaVersion.indexOf("1.4") != -1) { // In WSAS, JMX is not 
supported on JDK 1.4
-                log.warn("JMX is not supported on JDK 1.4. " +
-                         "Please use JDK 1.5 or newer version if you requre 
JMX functionality.");
-                return;
-            }
             if (isJMXServiceStarted) {
                 return;
             }
             int jmxPortInt = Integer.parseInt(jmxPort);
-            MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+            MBeanServer mbs = ManagementFactory.getMBeanServer();
             try {
                 LocateRegistry.createRegistry(jmxPortInt);
 

Modified: trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManagement.java
==============================================================================
--- trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManagement.java        
(original)
+++ trunk/wsas/java/modules/core/src/org/wso2/wsas/ServerManagement.java        
Fri Jan  4 08:12:52 2008
@@ -19,12 +19,12 @@
 import org.apache.axis2.transport.TransportListener;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.wso2.utils.ManagementFactory;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 import javax.management.Query;
 import javax.management.QueryExp;
-import java.lang.management.ManagementFactory;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
@@ -78,15 +78,12 @@
      * @throws Exception If an error occurs while trying to connect to the 
Tomcat MBean
      */
     public void waitForRequestCompletion() throws Exception {
-        String javaVersion = System.getProperty("java.version");
-        if (javaVersion.indexOf("1.4") != -1) {
-            return;
-        }
+        
         /**
          * Get all MBeans with names such as 
Catalina:type=RequestProcessor,worker=http-9762,name=HttpRequest<n>
          * & 
Catalina:type=RequestProcessor,worker=http-9762,name=HttpsRequest<n>
          */
-        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+        MBeanServer mbs = ManagementFactory.getMBeanServer();
         boolean areRequestsInService;
         long start = System.currentTimeMillis();
         do {

Modified: trunk/wsas/java/pom.xml
==============================================================================
--- trunk/wsas/java/pom.xml     (original)
+++ trunk/wsas/java/pom.xml     Fri Jan  4 08:12:52 2008
@@ -1650,6 +1650,18 @@
         </dependency>
 
         <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
+
+         <dependency>
+            <groupId>mx4j</groupId>
+            <artifactId>mx4j-remote</artifactId>
+            <version>${mx4j.version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>opensaml</groupId>
             <artifactId>opensaml</artifactId>
             <version>${opensaml.version}</version>
@@ -2090,6 +2102,7 @@
         <slf4j.version>1.0.1</slf4j.version>
         <spring.version>1.2.8</spring.version>
         <toolsjar>${java.home}/../lib/tools.jar</toolsjar>
+        <mx4j.version>3.0.2</mx4j.version>
 
         <opensaml.version>1.1.406</opensaml.version>
         <axis1.version>1.4</axis1.version>

_______________________________________________
Wsas-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-dev

Reply via email to