Workshop, Peter Roßbach @ JAX ’07, Wiesbaden + + +
Integration in Maven: Projekt Cargo
- http://cargo.codehaus.org/Maven2+Plugin+Tips
- http://raibledesigns.com/rd/entry/running_cargo_from_maven
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
…
Ein Gedanke zu „JAX 07: Apache und Tomcat 6“