JAX 07: Apache und Tomcat 6

Workshop, Peter Roßbach @ JAX ’07, Wiesbaden + + +

Integration in Maven: Projekt Cargo

News in Tomcat 6

  • Support für Servlet 2.5 und JSP 2.1 API’s
  • Apache 2.0 Lizenz
  • Neue Connectoren (NIO)
  • Reduktion der Abhängigkeiten, Vereinfachung der Verzeichnisstrucktur
  • Neue JSP Engine (w/ JSF)
  • Coyote Connectoren optimiert: Verbesserung der Performance, Mod_JK 1.2.22, Native Connectoren im Tomcat >= 5.5.17
  • Erleichterung der Administration (JMX 1.2)
  • Einsatz des Eclipse 3.2 Compiler (JRE ready mit Java 5 JDT) – schneller, kleiner, besser handlebare Lizenz

Tomcat

  • jsvr – Wrapper für Tomcat, funktioniert wie Watchdog
  • Security Manager – steuert Zugriff auf Systemressourcen

App Reload (während der Entwicklungszeit)

in context.xml: Resources Monitoring:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

  • Logging seit Tomcat 6.x
  • neues API
  • neues layout der Konfig Datei

Ports

  • 8080 – http
  • 8443 – https
  • 8009 – ssl
  • 8005 – shutdown
  • 9000 – JMX-Apdaptor http
  • 1099 – JMX-Apdaptor rmi
  • 0900 – JMX-Apdaptor iiop

Tomcat Pipeline

  • Server > Service > Engine > Host > Context > Wrapper
  • jeder Übergang wird mit einer Pipeline verbunden. An den Pipelines können Valves angeflanscht werden

Infos über den Tomcat & Server

  • Tool: Lambda Probe
  • Link: http://www.lambdaprobe.org
  • >> lambdaprobe.org: „Lambda Probe (formerly Tomcat Probe) is a self sufficient web application, which helps to visualize various parameters of Apache Tomcat instance in real time. Lambda Probe is designed to work specifically with Tomcat so it is able to access far more information that is normally available to JMX agents.“
  • Umfassende Infos über Tomcat, Apps, JVM…
  • noch keine vollständige Unterstützung von Tomcat 6.x (Stand: 2007-04-27)

Protokoll-Handler austauschen

  • in der server.xml wird das Protokoll gegen eine Klasse ausgtauscht, die das Protokoll implementiert

<Connector port=“8080″ protocol=“org.apache.coyote.http11.Http11NioProtocol“
connectionTimeout=“20000″
redirectPort=“8443″ />
<!–
<Connector port=“8080″ protocol=“HTTP/1.1″
connectionTimeout=“20000″
redirectPort=“8443″ />
–>

Arbeiten mit mod_jk

  • Eigenen conf-Datei in httpd.conf includen:

<IfModule !mod_jk.c>
LoadModule jk_module „modules/mod_jk.so“
</IfModule>
JkShmFile „logs/mod_jk.shm“
JkLogFile „logs/mod_jk.log“
JkLogLevel info
JKWorkersFile conf/workers.properties
JKWorkerProperty worker.list=loadbalancer,jkstatus
JKWorkerProperty worker.node01.port=8009
JKWorkerProperty worker.node01.host=localhost
JKWorkerProperty worker.node01.type=ajp13
JKWorkerProperty worker.node01.domain=d10
JKWorkerProperty worker.node01.lbfactor=4
JKWorkerProperty worker.loadbalancer.type=lb
JKWorkerProperty worker.loadbalancer.balance_workers=node01
JKWorkerProperty worker.jkstatus.type=status
JkMount /jkstatus jkstatus
JkMount /example* loadbalancer

Tipp: Template verwenden wenn viele Nodes im Einsatz sind:

JKWorkerProperty worker.template.type=ajp13
JKWorkerProperty worker.template.connection_pool_timeout=300

JKWorkerProperty worker.node01.lb.balance_workers_node=node101
JKWorkerProperty worker.node01.reference=worker.template

thanks to Peter Roßbach! Great work!

Ein Gedanke zu „JAX 07: Apache und Tomcat 6“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert