You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by Apache Wiki <wi...@apache.org> on 2005/05/05 15:02:42 UTC

[Geronimo Wiki] Update of "Tomcat" by jgenender

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Geronimo Wiki" for change notification.

The following page has been changed by jgenender:
http://wiki.apache.org/geronimo/Tomcat

------------------------------------------------------------------------------
  = About =
  
- {{{org.apache.geronimo.tomcat.TomcatContainer}}} class is the Tomcat GBean (aka service) of Apache Geronimo.
+ The Tomcat integration is made up of a set of GBeans that represent the different Tomcat components (i.e. Container, Connectors,  Engine, Host, Valves, etc).  The top level and managing component, the {{{org.apache.geronimo.tomcat.TomcatContainer}}} class is the Tomcat GBean (aka service) of Apache Geronimo.  The integration includes its own Tomcat deployer which allows custom configuration of Tomcat.
  
- The GBean is in the ''tomcat'' module.
+ The Gbean implementation provides for true integration with Geronimo, allowing Tomcat to fully utilize Geronimo security (JACC/JAAS), transactions, initial contexts, and JNDI.  The Tomcat inteagration currently supports the just mentioned Geronimo functions, but also leverages Tomcat facilities, such as virtual hosts and SSL.
+ 
+ There is one major difference in the Geronimo/Tomcat integration that should be noted.  There are no server.xml or context.xml files.  These have been replaced by the j2ee-server-tomcat-plan.xml and geronimo-tomcat.xml files.  The j2ee-server-tomcat-plan.xml is the equivalent of the server.xml file and contains many of the components that its Tomcat cousin offers, albeit in a different format.  The geronnimo-tomcat.xml file is the equivalent of the context.xml and is used in the web application for runtime deployment and configuration of the web application.
+ 
+ = The j2ee-server-tomcat-plan.xml =
+ 
+ The j2ee-server-tomcat-plan.xml is essentially the equivalent of the server.xml.  In Tomcat the server.xml file is used to describe the Tomcat container configuration for deployment of web aplications.  It allows you to configure the Engine, the Hosts (for virtual hosting), Valves, Realms, etc.  The file is a hierarchical representation of these items in XML format.  The following is an example server.xml file:
+ 
+ {{{
+ <Server port="8005" shutdown="SHUTDOWN">
+     <Service name="Geronimo">
+         <Connector port="8080" maxHttpHeaderSize="8192"
+                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+                enableLookups="false" redirectPort="8443" acceptCount="100"
+                connectionTimeout="20000" disableUploadTimeout="true" />
+         <Engine name="Geronimo" defaultHost="localhost">
+             <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+             <Valve className="org.apache.catalina.valves.AccessLogValve"
+                  directory="logs"  prefix="localhost_access_log." suffix=".txt"
+                  pattern="common" resolveHosts="false"/>
+             <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+                  resourceName="UserDatabase"/>
+         <Host name="localhost" appBase="webapps"/>
+ 
+         </Engine>
+     </Server>
+ </Server>
+ }}}
+ 
+ The j2ee-server-tomcat-plan.xml file is similar in structure (i.e. hierarchical dependency) as the server.xml, but uses GBeans and reference dependencies instead.  Here is an example snippet from the j2ee-server-tomcat-plan.xml file:
+ 
+ {{{
+ <gbean name="TomcatWebContainer" class="org.apache.geronimo.tomcat.TomcatContainer">
+     <attribute name="catalinaHome">var/catalina</attribute>
+     <reference name="engineGBean">
+         <name>TomcatEngine</name>
+     </reference>
+     <reference name="ServerInfo">
+         <module>org/apache/geronimo/System</module>
+         <name>ServerInfo</name>
+     </reference>
+ </gbean>
+ 
+ <gbean name="TomcatWebConnector" class="org.apache.geronimo.tomcat.ConnectorGBean">
+     <attribute name="initParams">
+         port=8090
+     </attribute>
+     <reference name="TomcatContainer">
+         <name>TomcatWebContainer</name>
+     </reference>
+ </gbean>
+ 
+ <!-- Engine -->
+ <gbean name="TomcatEngine" class="org.apache.geronimo.tomcat.EngineGBean">
+     <attribute name="className">org.apache.geronimo.tomcat.TomcatEngine</attribute>
+     <attribute name="initParams">
+         name=Geronimo
+         defaultHost=localhost
+     </attribute>
+     <reference name="realmGBean">
+         <name>TomcatJAASRealm</name>
+     </reference>
+     <reference name="TomcatValveChain">
+         <name>FirstValve</name>
+     </reference> 
+ </gbean>
+ 
+ <!-- Valve Chain For The Engine -->
+ <gbean name="FirstValve" class="org.apache.geronimo.tomcat.ValveGBean">
+     <attribute name="className">org.apache.catalina.authenticator.SingleSignOn</attribute>
+     <reference name="NextValve"><moduleType>J2EEModule</moduleType><name>SecondValve</name></reference>
+ </gbean>
+ 
+ <gbean name="SecondValve" class="org.apache.geronimo.tomcat.ValveGBean">
+     <attribute name="className">org.apache.catalina.valves.AccessLogValve</attribute>
+     <attribute name="initParams">
+         prefix=localhost_access_log.
+         suffix=.txt
+         pattern=common
+     </attribute>
+ </gbean>
+ 
+ <!-- Realm  For The Engine -->
+ <gbean name="TomcatJAASRealm" class="org.apache.geronimo.tomcat.RealmGBean">
+     <attribute name="className">org.apache.geronimo.tomcat.realm.TomcatJAASRealm</attribute>
+     <attribute name="initParams">
+         userClassNames=org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
+         roleClassNames=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
+     </attribute>
+ </gbean>
+ 
+ <!-- Host -->
+ <gbean name="TomcatHost" class="org.apache.geronimo.tomcat.HostGBean">
+     <attribute name="className">org.apache.catalina.core.StandardHost</attribute>
+     <attribute name="initParams">
+         name=localhost
+         appBase=
+         workDir=work
+     </attribute>
+     <reference name="engineGBean">
+         <name>TomcatEngine</name>
+     </reference>
+ </gbean>
+ 
+ }}}
+ 
+ The dependencies are based on references to other GBeans.  For example, notice the {{{TomcatEngine}}} GBean contains references to the {{{TomcatJAASRealm}}} and the {{{FirstValve}}}.  The Valve chain works in a similar manner.  The Host is also dependent on the Engine, so it contains a reference to the Engine GBean. 
+ 
+ As you can see, the server.xml and j2ee-server-tomcat-plan.xml are similar from a Tomcat object and dependency structure perspective, but they do look different.  Where the server.xml dependencies are based on encapsulating xml objects, the j2ee-server-tomcat-plan.xml uses refrences to other Gbeans.  However, migrating from server.xml to j2ee-server-tomcat-plan.xml should be very simple.  
+ 
+ One area to keep in mind is that there is a main difference between these files, and this is that there is no Context pre-declaration for Geronimo (such as the Contex xml configuration in server.xml).  This is because Geronimo does not support the concept of Stand Alone Tomcat web applications.  This means that all web applications need to be deployed through the deployer, and there is no concept of a "webapps" directory that allows you to pre-declare an application.
+ 
+ Each of the GBean objects are basically wrappers to the actual Tomcat objects.  This means you may use the Tomcat objects as you have in the past, along with the parameters that were used in the original server.xml file.  Most of the Tomcat GBeans have 2 important attributes that should be noted, className and initParams.  The className attribute allows you to declare the Tomcat object class, such as {{{org.apache.catalina.valves.AccessLogValve}}}.  For a majority of the Tomcat GBeans, this attribute is generally required (there are one or two exceptions that will be described in detail later in this document).  The initParams attribute, which is optional, allows you declare the parameters that are required for the class declared in the className attribute.  These are name value pairs, and each pair is shown alone on its own line.  To see the similarities between the class declaration and parameter use, lets look at the {{{AccessLogValve}}} declaration in the server.xml and
  j2ee-server-tomcat-plan.xml:
+ 
+ server.xml:
+ {{{
+ <Valve className="org.apache.catalina.valves.AccessLogValve"
+      directory="logs"  prefix="localhost_access_log." suffix=".txt"
+      pattern="common" resolveHosts="false"/>
+ }}}
+ 
+ j2ee-server-tomcat-plan.xml
+ {{{
+ <gbean name="SecondValve" class="org.apache.geronimo.tomcat.ValveGBean">
+     <attribute name="className">org.apache.catalina.valves.AccessLogValve</attribute>
+     <attribute name="initParams">
+         prefix=localhost_access_log.
+         suffix=.txt
+         pattern=common
+     </attribute>
+ </gbean>
+ }}}
+ 
+ Notice the similarity between the two declarations, where the parameter declarations in the server.xml are done in the xml, and they are done in the initParams attribute for the j2ee-server-tomcat-plan.xml.
+ 
+ Don't let the configuration scare you.  Its not as complex as it looks, and the j2ee-server-tomcat-plan.xml file is mostly pre-configured to be used automatically when enabling the Tomcat module.  You will only need to make minor modifications to it (if any).
+ 
+ Howeverm, lets take a look at each of the Gbean objects and describe thier configuration in a little more detail for those who wish to dabble in its configuration.
+ 
+ == TomcatContainer GBean ==
+ 
+ This GBean is the main service for Tomcat and handles its lifetime within the Geronimo container.  It manages the the major starting and stopping of the Tomcat sub-components.  This GBean is required in order to even use Tomcat in Geronimo. It is not recommended to swap this out with a home-grown version unless a full Geronim infrastructure is supported within the object.  It is recommeneded to leave as-is.
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ || catalinaHome || No || Describes the relative location of the Catalina Home variable within the Geronimo container.  Defaults to var/catalina ||
+ 
+ === References ===
+ || '''Reference''' || '''Required''' || '''Description''' ||
+ || engineGBean || Yes || Reference to the name an {{{EngineGBean}}}. ||
+ || serverInfo || Yes || Reference to a ServerInfo Gbean object. ||
+ 
+ == Connector GBean ==
+ 
+ Represents the {{{Connector}}} object for Tomcat.  Multiple Connector GBeans may be declared for a container.
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ ||initParams || No || A name/value pair list allowing you to configure parameters for the {{{org.apache.catalina.connector.Connector}}} object (See [http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/http.html] for specific parameters).  Each name/value pair is separated with a'=', and should be on its own line.||
+ 
+ 
+ == Engine GBean ==
+ 
+ This Gbean represents the Engine object in Tomcat and is wrapped and enabled with the {{{EngineGBean}}} object.  It is essentially a wrapper for any type of Engine object.  The {{{TomcatEngine}}}, which is a Geronimo extention on the {{{org.apache.catalina.core.StandardObject}}} is typically used for this object.  Although nearly any object that extands org.apache.catalina.core.StandardObject can be used , again, there is some Geronimo based infrastructure that is used to help enable the integration.  It is not recommended to swap this out.
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ || className || Yes || A String represenation of the underlying Engine object.  It is highly recommended to only use the {{{org.apache.geronimo.tomcat.TomcatEngine}}} object||
+ ||initParams || No || A name/value pair list allowing you to configure parameters for the class declared in the className attribute.  Each name/value pair is separated with a '=', and should be on its own line.||
+ 
+ === References ===
+ || '''Reference''' || '''Required''' || '''Description''' ||
+ || realmGBean || No || Reference to a TomcatRealm which will be applied at the Engine level ||
+ || TomcatValveChain || No || Reference to the first Valve in a chain of 1 or more valves which will be applied at the Engine level ||
+ 
+ == Host GBean ==
+ 
+ This is the Tomcat Host object GBean wrapped by the {{{HostGbean}}} object.  This is wraps any type of {{{org.apache.catalina.core.StandardHost}}} object.  One or more Host GBeans may be declared.  Each host will represent its own virtual host.  
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ || className || Yes || A String represenation of the underlying Host object.  It is highly recommended to only use the {{{org.apache.catalina.core.StandardHost}}} object, or one that is derived from this object.||
+ ||initParams || No || A name/value pair list allowing you to configure parameters for the class declared in the className attribute.  Each name/value pair is separated with a '=', and should be on its own line.  See [http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/host.html] for a list of configurable parameters. ||
+ 
+ === References ===
+ || '''Reference''' || '''Required''' || '''Description''' ||
+ || engineGBean || Yes || The engine GBean name that represents the parent engine for thie host. ||
+ || realmGBean || No || Reference to a TomcatRealm which will be applied at the Engine level ||
+ || TomcatValveChain || No || Reference to the first Valve in a chain of 1 or more valves which will be applied at the Host level ||
+ 
+ == Realm GBean ==
+ 
+  The Realm GBean represents Tomcat Realm objects.  There may be only one realm declared for the Engine and/or Host Gbeans. This GBean may be attached to an Engine, Host, (or Context within the geronimo-tomcat.xml file).
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ || className || Yes || A String represenation of the underlying Realm object. || 
+ ||initParams || No || A name/value pair list allowing you to configure parameters for the class declared in the className attribute.  Each name/value pair is separated with a '=', and should be on its own line.  See [http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/realm.html] for a list of configurable parameters. ||
+ 
+ == Valve GBean ==
+ 
+ The Valve GBean (yes...you guessed it) represents the Tomcat Valve objects.  This GBean may be attached to an Engine, Host, (or Context within the geronimo-tomcat.xml file).  The Valve object is slightly different from teh other objects in that you chain multiple Valves to preserve order.  The chaining is done by adding a reference to a another Valve within the GBean configuration.
+ 
+ === Attributes ===
+ || '''Attribute''' || '''Required''' || '''Description''' ||
+ || className || Yes || A String represenation of the underlying Valve object. ||
+ ||initParams || No || A name/value pair list allowing you to configure parameters for the class declared in the className attribute.  Each name/value pair is separated with a'=', and should be on its own line.  See [http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/valve.html] for a list of configurable parameters. ||
+ 
+ === References ===
+ || '''Reference''' || '''Required''' || '''Description''' ||
+ || NextValve || No || The GBean name referencing the next Valve in the chain. ||
+ 
+ = The geronimo-tomcat.xml =
+ 
+ The geronimo-tomcat.xml file is the equivalent of the Tomcat context.xml file.  It allows you to configure specific configurations on a web application by web application basis. It is in this file you will be able to describe the context-root, attach application specific valves and realms, and declare your security mapping.
+ 
+ = Status =
  
  Check [http://nagoya.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&pid=10220&sorter/order=DESC&sorter/field=priority&component=11397 Geronimo JIRA issue tracker] and the page for more information about the integration.
  
- Currently the work is being done to create a complete Tomcat deployer (aka builder) based on the jetty-builder module. The very rough yet working deployer is already done - !TomcatModuleBuilder. The idea behind the builder is to create one builder that manages Jetty, Tomcat or any other web container's deployment. It looks that the code of !TomcatModuleBuilder is pretty much the same as !JettyModuleBuilder, so it's probably a matter of weeks when they come together to build the builder.
+ The Tomcat integration is mostly complete.  There are still a few Tomcat Objects that can be turned into GBeans so they may be configured in the j2ee-server-tomcat-plan.xml or geronimo-tomcat.xml files.  There still also is some work in getting some Geronimo-based web services working with Tomcat.
  
  The version of Apache Tomcat is 5.5.9.
+ 
  
  = How to run Apache Tomcat =
  
@@ -54, +271 @@

  
   {{{
  $ java -Djava.endorsed.dirs=lib/endorsed -jar bin/server.jar org/apache/geronimo/DebugConsole
- 01:22:03,798 INFO  [Daemon] Server startup begun
+ 16:45:26,242 INFO  [Daemon] Server startup begun
+ 16:45:26,299 INFO  [Daemon] java.endorsed.dirs=lib/endorsed:/Projects/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/lib/endorsed
+ 16:45:26,806 INFO  [MBeanServerFactory] Created MBeanServer with ID: 4ba9a2:103a9e28e7c:-8000:Powerbook.local:1
- 01:22:03,878 INFO  [Kernel] Starting boot
+ 16:45:26,807 INFO  [Kernel] Starting boot
- 01:22:04,128 INFO  [Kernel] Booted
+ 16:45:27,455 INFO  [Kernel] Booted
- 01:22:04,148 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/System"
+ 16:45:27,523 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/System"
- 01:22:04,267 INFO  [Configuration] Started configuration org/apache/geronimo/System
+ 16:45:28,127 INFO  [Configuration] Started configuration org/apache/geronimo/System
- 01:22:04,427 INFO  [RMIRegistryService] Started RMI Registry on port 1099
- 01:22:04,507 INFO  [ReadOnlyRepository] Repository root is file:/C:/projs/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/repository/
+ 16:45:28,710 INFO  [ReadOnlyRepository] Repository root is file:/Projects/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/repository/
+ 16:45:28,976 INFO  [RMIRegistryService] Started RMI Registry on port 1099
- 01:22:04,557 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/DebugConsole"
+ 16:45:29,019 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/DebugConsole"
- 01:22:04,567 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/Tomcat"
+ 16:45:29,094 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/Tomcat"
- 01:22:04,587 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/Server"
+ 16:45:29,144 INFO  [ConfigurationManagerImpl] Loaded Configuration geronimo.config:name="org/apache/geronimo/Server"
- 01:22:05,107 INFO  [Configuration] Started configuration org/apache/geronimo/Server
+ 16:45:31,919 INFO  [Configuration] Started configuration org/apache/geronimo/Server
- 01:22:05,137 INFO  [HttpServer] Statistics on = false for org.apache.geronimo.jetty.JettyServer@28305d
+ 16:45:32,923 INFO  [HttpServer] Statistics on = false for org.apache.geronimo.jetty.JettyServer@29e9b
- 01:22:05,147 INFO  [HttpServer] Version Jetty/5.1.1
+ 16:45:32,939 INFO  [HttpServer] Version Jetty/5.1.4rc0
- 01:22:05,147 INFO  [Container] Started org.apache.geronimo.jetty.JettyServer@28305d
+ 16:45:32,944 INFO  [Container] Started org.apache.geronimo.jetty.JettyServer@29e9b
- 01:22:05,177 INFO  [HOWLLog] Initiating transaction manager recovery
- 01:22:05,197 WARN  [HOWLLog] Received unexpected log record: org.objectweb.howl.log.xa.XALogRecord@322bce
- 01:22:05,197 INFO  [HOWLLog] In doubt transactions recovered from log
- 01:22:05,277 INFO  [ThreadPool] Thread pool DefaultThreadPool started
- 01:22:05,307 INFO  [SocketListener] Started SocketListener on 0.0.0.0:8080
+ 16:45:33,161 INFO  [SocketListener] Started SocketListener on 0.0.0.0:8080
- 01:22:05,696 INFO  [GeronimoLoginConfiguration] Added ACE JMX
+ 16:45:33,327 INFO  [SecurityServiceImpl] JACC factory registered
+ 16:45:33,410 INFO  [HOWLLog] Initiating transaction manager recovery
+ 16:45:33,657 WARN  [HOWLLog] Received unexpected log record: org.objectweb.howl.log.xa.XALogRecord@b58796
+ 16:45:33,658 INFO  [HOWLLog] In doubt transactions recovered from log
- 01:22:05,696 INFO  [GeronimoLoginConfiguration] Added ACE geronimo-properties-realm
+ 16:45:33,733 INFO  [GeronimoLoginConfiguration] Added Application Configuration Entry geronimo-properties-realm
+ 16:45:33,735 INFO  [GeronimoLoginConfiguration] Added Application Configuration Entry JMX
- 01:22:05,696 INFO  [GeronimoLoginConfiguration] Installed Geronimo login configuration
+ 16:45:33,770 INFO  [GeronimoLoginConfiguration] Installed Geronimo login configuration
- 01:22:05,846 INFO  [server:name=localhost,role=JMXService] Started JMXConnector service:jmx:rmi://localhost/jndi/rmi:/JMXConnector
- 01:22:05,866 INFO  [SecurityService] Security service started
+ 16:45:34,288 INFO  [Credential] Checking Resource aliases
+ 16:45:34,726 INFO  [SslListener] SslListener.needClientAuth=false
+ 16:45:34,817 INFO  [SocketListener] Started SocketListener on 0.0.0.0:8443
+ 16:45:35,636 INFO  [RMIConnectorServer] RMIConnectorServer started at: service:jmx:rmi://localhost/jndi/rmi:/JMXConnector
+ 16:45:35,639 INFO  [server:J2EEApplication=null,J2EEModule=org/apache/geronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JMXService] Started JMXConnector service:jmx:rmi://localhost/jndi/rmi:/JMXConnector
- 01:22:06,026 INFO  [Configuration] Started configuration org/apache/geronimo/Tomcat
+ 16:45:36,454 INFO  [Configuration] Started configuration org/apache/geronimo/Tomcat
+ 16:45:36,489 INFO  [GeronimoLoginConfiguration] Added Application Configuration Entry Geronimo
+ 16:45:37,108 INFO  [JAASRealm] Set JAAS app name Geronimo
+ 16:45:37,212 INFO  [TomcatContainer] Endorsed Dirs set to:lib/endorsed:/Projects/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT/lib/endorsed
- 01:22:06,156 INFO  [Embedded] Starting tomcat server
+ 16:45:37,482 INFO  [Embedded] Starting tomcat server
- 01:22:06,156 INFO  [Embedded] Catalina naming disabled
+ 16:45:37,485 INFO  [Embedded] Catalina naming disabled
- 01:22:06,456 INFO  [StandardEngine] Starting Servlet Engine: Apache Tomcat/5.5.4
+ 16:45:38,288 INFO  [StandardEngine] Starting Servlet Engine: Apache Tomcat/5.5.9
- 01:22:06,476 INFO  [StandardHost] XML validation disabled
+ 16:45:38,386 INFO  [StandardHost] XML validation disabled
+ 16:45:38,388 INFO  [RealmBase] This Realm has already been started
- 01:22:06,586 INFO  [WebappLoader] Dual registration of jndi stream handler: factory already defined
+ 16:45:38,787 INFO  [WebappLoader] Dual registration of jndi stream handler: factory already defined
- 01:22:06,985 INFO  [ContextConfig] Missing application web.xml, using defaults only StandardEngine[tomcat.engine].StandardHost[localhost].StandardContext[]
+ 16:45:39,764 INFO  [ContextConfig] Missing application web.xml, using defaults only StandardEngine[Geronimo].StandardHost[localhost].StandardContext[]
- 01:22:07,265 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-8090
+ 16:45:41,076 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-8090
- 01:22:07,325 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-8090
+ 16:45:41,301 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-8090
- 01:22:07,375 INFO  [Configuration] Started configuration org/apache/geronimo/DebugConsole
+ 16:45:41,683 INFO  [Configuration] Started configuration org/apache/geronimo/DebugConsole
+ 16:45:41,915 INFO  [RealmBase] This Realm has already been started
- 01:22:08,274 INFO  [TomcatWebAppContext] TomcatWebAppContext started
+ 16:45:43,533 INFO  [TomcatWebAppContext] TomcatWebAppContext started
- 01:22:08,274 INFO  [Daemon] Server startup completed
+ 16:45:43,537 INFO  [Daemon] Server startup completed
- }}}
- 
- = Installing Geronimo over one already installed Tomcat (not possible; outdated) =
- 
- Here's an excerpt of a thread at the Geronimo user mailing list about it:
- 
-  {{{
- On to the question of 'installing Geronimo over one already installed Tomcat' 
- I think it's a matter of specifing correct values CATALINA_HOME, CATALINA_BASE and CATALINA_CONFIG in tomcat-plan.xml. 
- It should work fine. That indeed gives only a possibility to run both in the same JVM, but keep in mind that that's it. 
- No other integration exists yet (no single security layer, no transactions, no common deployment, etc.)
  }}}
  
  = A few words on how it works =