Wie einige hier vielleicht mittlerweile mitbekommen haben finde ich das neue Entwicklungsmodell von JavaEE 5 und insbesondere EJB3 überaus ansprechend. In meine letzten beiden Projekten konnte ich zum Glück Glassfish einsetzen... nun steht ein Webprojekt an in welchem "nur" Tomcat 5.5 zur verfügung steht.
Da ich nicht auf all die Vorteile verzichten wollte (und Spring mir zu überladen und kompliziert ist - hally byto ), habe ich mir OpenEJB näher angeschaut.
Ich war wirklich verblüfft... openejb.war deployed, context angesteuert, und "Install" gedrückt. Er legt einige JAR files im Lib Verzeichnis ab. Nach einem Neustart gehts dann sofort los:
Da bereits Features von EJB3.1 implementiert sind kann man seine Session Beans auch in der WAR Datei ablegen. Das heisst man deployed seine Webanwendung wie gewohnt, packt Session Beans mit hinein und alles funktioniert wie erwartet (alle Injections, auch unter Tomcat 5.5).
Die Konfiguration beschränkt sich auf JPA und die jta-datasource in openejb.xml (zu finden in conf/ vom tomcat). Mehr ist nicht nötig, eine Bean mit @Stateless, das Interface mit @Local und man hat eine Session Bean. Alle Annotationen funktionieren (@EJB in Servlets, @PersistenceContext, @Resource, etc in den Beans).
Ich finds super.. wollte das nur mal erwähnt haben
Da ich nicht auf all die Vorteile verzichten wollte (und Spring mir zu überladen und kompliziert ist - hally byto ), habe ich mir OpenEJB näher angeschaut.
Ich war wirklich verblüfft... openejb.war deployed, context angesteuert, und "Install" gedrückt. Er legt einige JAR files im Lib Verzeichnis ab. Nach einem Neustart gehts dann sofort los:
Da bereits Features von EJB3.1 implementiert sind kann man seine Session Beans auch in der WAR Datei ablegen. Das heisst man deployed seine Webanwendung wie gewohnt, packt Session Beans mit hinein und alles funktioniert wie erwartet (alle Injections, auch unter Tomcat 5.5).
Die Konfiguration beschränkt sich auf JPA und die jta-datasource in openejb.xml (zu finden in conf/ vom tomcat). Mehr ist nicht nötig, eine Bean mit @Stateless, das Interface mit @Local und man hat eine Session Bean. Alle Annotationen funktionieren (@EJB in Servlets, @PersistenceContext, @Resource, etc in den Beans).
Ich finds super.. wollte das nur mal erwähnt haben