You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2009/06/16 08:57:53 UTC

svn commit: r785090 - in /geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src: main/java/org/apache/geronimo/tomcat/ test/java/org/apache/geronimo/tomcat/

Author: xuhaihong
Date: Tue Jun 16 06:57:52 2009
New Revision: 785090

URL: http://svn.apache.org/viewvc?rev=785090&view=rev
Log:
GERONIMO-4684 Configure tomcat server using server.xml

Modified:
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatServerGBean.java
    geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java?rev=785090&r1=785089&r2=785090&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java Tue Jun 16 06:57:52 2009
@@ -134,7 +134,8 @@
         System.setProperty("catalina.home", catalinaHome);
 
         if (server != null) {
-            this.engine = server.getEngine(serviceName);
+            embedded = server.getService(serviceName);
+            engine = (Engine) embedded.getContainer();
         } else {
             this.engine = (Engine) engineGBean.getInternalObject();
             StandardService embedded = new StandardService();

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatServerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatServerGBean.java?rev=785090&r1=785089&r2=785090&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatServerGBean.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatServerGBean.java Tue Jun 16 06:57:52 2009
@@ -20,34 +20,36 @@
 
 package org.apache.geronimo.tomcat;
 
-import java.io.Reader;
-import java.io.IOException;
-import java.io.StringReader;
 import java.io.File;
 import java.io.FileReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
 import java.util.Arrays;
 
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
 import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
-import javax.xml.bind.JAXBElement;
 import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 
+import org.apache.catalina.Engine;
+import org.apache.catalina.Lifecycle;
+import org.apache.catalina.Server;
+import org.apache.catalina.Service;
+import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
 import org.apache.geronimo.gbean.annotation.ParamSpecial;
 import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
-import org.apache.geronimo.gbean.annotation.ParamReference;
-import org.apache.geronimo.gbean.annotation.ParamAttribute;
-import org.apache.geronimo.gbean.GBeanLifecycle;
-import org.apache.geronimo.tomcat.model.ServerType;
+import org.apache.geronimo.system.jmx.MBeanServerReference;
 import org.apache.geronimo.system.serverinfo.ServerInfo;
-import org.apache.catalina.Server;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.Engine;
-import org.apache.catalina.Service;
+import org.apache.geronimo.tomcat.model.ServerType;
+import org.apache.tomcat.util.modeler.Registry;
 import org.xml.sax.SAXException;
 
 /**
@@ -76,6 +78,7 @@
     public TomcatServerGBean(@ParamAttribute(name = "serverConfig")String serverConfig,
                              @ParamAttribute(name = "serverConfigLocation")String serverConfigLocation,
                              @ParamReference(name = "ServerInfo") ServerInfo serverInfo,
+                             @ParamReference(name = "MBeanServerReference") MBeanServerReference mbeanServerReference,
                              @ParamSpecial(type= SpecialAttributeType.classLoader)ClassLoader classLoader) throws Exception {
         this.serverConfig = serverConfig;
         this.serverInfo = serverInfo;
@@ -88,8 +91,13 @@
             File loc = serverInfo.resolveServer(serverConfigLocation);
             in = new FileReader(loc);
         }
+
+        if(mbeanServerReference != null) {
+            Registry.setServer(mbeanServerReference.getMBeanServer());
+        }
+        
         try {
-            ServerType serverType = loadServerType(in);
+            ServerType serverType = loadServerType(in);            
             server = serverType.build(classLoader);
         } finally {
             in.close();
@@ -120,7 +128,7 @@
         }
     }
 
-    public Engine getEngine(String serviceName) {
+    public Service getService(String serviceName) {
         Service service;
         if (serviceName == null) {
             Service[] services = server.findServices();
@@ -132,6 +140,6 @@
         } else {
             service = server.findService(serviceName);
         }
-        return (Engine) service.getContainer();
+        return service;
     }
 }

Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java?rev=785090&r1=785089&r2=785090&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/TomcatServerGBeanTest.java Tue Jun 16 06:57:52 2009
@@ -56,7 +56,7 @@
     }
     public void testGBeanServer1() throws Exception {
         ServerInfo serverInfo = new BasicServerInfo(BASEDIR.getAbsolutePath());
-        TomcatServerGBean tomcatServerGBean = new TomcatServerGBean(null, SERVER_1, serverInfo, getClass().getClassLoader());
+        TomcatServerGBean tomcatServerGBean = new TomcatServerGBean(null, SERVER_1, serverInfo, null, getClass().getClassLoader());
         try {
             tomcatServerGBean.doStart();
         } finally {