/
Neuerungen des Tomcat7
Neuerungen des Tomcat7
Apache Tomcat 7
Servlet API 3.0 Support (JSR 315)
(7.0.6 Release)
Vortragender: Peter Roßbach
Committer seit 2005
Amazon nutzt Tomcat6 als Grundlage für Cloud Computing
Standard Taglib Projekt (JSTL) ist nun Teilprojekt des Apache Tomcat Projekjts
http://tomcat.apache.org/taglibs/
- Mitwirkende: 24 Entwickler, 94 Referenzunternehmen, 32 Hostingprovider
Architektur im Wesentlichen gleich
Läuft ab Java 1.6 (JSP 2.2, Servlet 3.0)
Servlet API 3.0
- Programmierung mit Annotationen
- Modularität (Web-Fragmente, Ressourcen)
- Asynchrone Kommunikation** Server Push
- Entkoppelung vom Container Thread
- File Upload direkt im Container
- Session und Cookie Handling verbessert
- Programmatische und modulare Erweiterbarkeit
Apache Tomcat 7 Basis
- Neues Lifecycle API der Komponenten (JMX Update)
- Alle Connectoren haben Async Support
- Connectoren nutzen nun die Executor ThreadPools
- MemoryLeakDetection für Anwendungsredeployment
- Deployment von Anwendungsversionen
- Einige Packages sind verschoben
- CRSR Prevention Filter (s. Manager Anwendung)
- Module für eigenen JDBC Pool und Bayeux Implementierung
- Embedded und Unit testen mit Tomcat** Org.apache.catalina.startup.TomcatBaseTest
- Org.apache.catalina.startup.Tomcat
-neuer StartScreen
- Annotation Overwrite (web.xml überschreibt Code)
- Web.xml: <metadata-complete>false</metadata-complete> erlaubt Annotations, true stellt sie ab
- Resource Loading (*.jar!META-INF/resources )
- Aliase und VirtualClassPath möglich (Module außerhalb der WebApp)
- Web-Plugins** Beim Undeploy der Anwendung bleiben die Plugins erhalten
- Integration von Ressourcen und Funktionserweiterungen
- Ladereihenfolge** Web.xml (Tomcat lädt noch conf/web.xml)
- Dann Web-Fragmente.xml
- Auswewrtung der Annotations
- Evtl. ServletContainerInitializer auswerten
- ServletContextListener
- Konflikte** Durchführung eines großen Merge
- Bei Konflikten gewinnt der Eintrag in der web.xml
- Inhalt der servlet.xml hat sich sehr verändert
Async Servlet
- Asynchrone WebServices und Web Proxiews
- Server Side AJAX Push per Comet
- non-blocking Verhalten des Containers bei langen Requests ermöglichen
- Entkoppelung des Container Requests Threads
- Warum?** Problem mit der Rückwärtskompatibilität
- Timeout: Default= 10 Sekunden** Änderung über server.xml: <Connector asyncTimeout="3000"…
- File Upload
Memory Leaks
- http://wiki.apache.org/tomcat/MemoryLeakDetection
- Server Listener: org.apache.catalina.core.JreMemoryPreventionListener** Schreibt falsche Nutzung von Threads/ThreadsLocal ins Log
- Thread Leaks** <context renewThreadsWhenStopping Context="true" …>
- Seit Tomcat6 gibt es Versionierung z.B.
- Context Path Version Verisonsname
/foo 42 /foo##42
/foo 43 /foo##43
Realm
- Login Brute-Force Attack-Schutz** 5 Versuche
- 5 Minuten Sperren
- Speicherung von 100 Vorfällen
- Parameter änderbar
Eigene Fragen:
Clustering / Synchronisation
- Bugs gefixt
- Cluster läuft stabil
- Keine Probleme gemeldet
- Keine großartigen Neuerungen
Eigene Fragen: