Apache Tomcat ist ein Java Application-Server, der leichtgewichtig und leistungsvoll ist.
Windows Service#
Wurde Tomcat als Windows Service installiert, können die Parameter im Nachhinein verändert werden mit dem GUI-Programm tomcat7w.exe.Server-Configuration#
Dafür ist die Datei server.xml zuständig. Diese ist durch die eingebaute "Anleitung" etwas unübersichtlich, eine einfach Version ist hier:Tomcat 7#
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off"/> <Listener className="org.apache.catalina.core.JasperListener"/> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"/> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_" suffix=".log" pattern="%h %l %u %t "%r" %s %b"/> </Host> </Engine> </Service> </Server>
Tomcat 8#
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <!-- <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off"/> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml"/> </GlobalNamingResources> <Service name="Catalina"> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"/> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_" suffix=".log" pattern="%h %l %u %t "%r" %s %b"/> </Host> </Engine> </Service> </Server>
Debugging#
Der Server kann statt mit "catalina start" mitcatalina jpda start
gestartet werden, dann wird auf Port 8000 das Java-Debugging akzeptiert.
Der Server kann auch beim Start auf Suspend geschaltet werden, damit er auf den Debugger wartet, wenn man die Environment-Variable mit
set JPDA_SUSPEND=y
setzt.