Kostenloses Dokument zum SpringSource dm Server
Unter http://www.dpunkt.de/buecher/3231.html steht mein neustes Werk bereit: Ein umfassendes Dokument zum SpringSource dm Server bereit - mit Beispielen, Einführungen in OSGi und Spring und vielen weiteren Infos - einfach mal anschauen.
SpringSource tc Server - The Tomcat you know, the Enterprise Capabilities you need - Event in Frankfurt & Zürich
In diesem zweistündigen Event lernen Sie den SpringSource tc Server kennen, der die Administration und Verwaltung von Tomcat-Server-Installationen entscheidend vereinfacht. Melden Sie Sich zu diesem kostenlosen Event unter
@Resource oder wie man auch eine einfache Standardisierung suboptimal lösen kann@Resource ist im Rahmen von JSR 250 standardisiert. Diese Annotation wird verwendet, um sich Objekte injizieren zu lassen. Eigentlich ganz einfach, sollte man denken. Aber der Standard enthält mehrere Schwächen:
Normalerweise würde man denken, dass man einfach @Resource("name") schreiben kann. Ist natürlich nicht so: Man muss @Resource(name="name") schreiben.
Man würde auch denken, dass der Standard sagt, dass @Resource einfach etwas mit dem passenden Namen und Typ injiziert - Spring injiziert zum Beispiel Spring-Bean mit dem entsprechenden Namen. Dann würde der Standard nämlich von der zugrundeliegenden DI-Implementierung abstrahieren. Natürlich ist das nicht so: Die Spezifikation sagt explizit, dass es ein Objekt aus dem JNDI sein muss. Also muss eine konforme JSR-250-Implementierung JNDI mitbringen. Spring kann übrigens auch diese Semantik der Annotation unterstützen. Andere Elemente der Annotation, die definieren, wie die Authentication funktioniert, oder ob man die Ressource auch mit anderen Komponenten teilen kann, sind natürlich in einfacheren DI-Umgebungen auch nicht so ohne weiteres nachzuempfinden...
Constructor Dependency Injection ist für die Expert Group offensichtlich ein Fremdwort. Die Annotation ist nur auf Felder und Methoden anwendbar. Wäre sie auch für Parameter gültig, könnte man Constructor Dependency Injection oder auch Methoden mit mehreren Parametern unterstützen - leider ist das aber nicht vorgesehen.
Weil wir gerade bei den erlaubten Zielen der Annotation sind: Wußten Sie, dass man @Resource zum Annotieren von Klassen nutzen kann? Schauen Sie mal in das JavaDoc oder in die Spezifikation, wenn Sie nicht wissen, was das wohl bedeuten mag.
Preiswerter, professioneller Workshop zu Spring - mit Rabatt für ein Core Spring Training
Unter http://www.andrena.de/Entwicklertag/2009/Vortraege/Tutorial-Days/Spring.html kann man sich zu einem eintägigen Workshop zu Spring in Karlsruhe mit mir anmelden. Die Teilnahme kostet 100€. In dem Workshop wird ein Überblick über Spring präsentiert.
Wer teilnimmt und sich dann vertiefen will, bekommt 150€ Rabatt auf alle SpringSource Core Spring Trainings in Deutschland, siehe http://www.springsource.com/de. Von diesen Trainings bietet das folgende Video einen guten Eindruck:
SpringSource kauft Hyperic
Wer ist noch nicht mitbekommen hat: SpringSource hat Hyperic gekauft. Hyperic bietet Lösungen zum Management und Monitoring von Anwendungen und Application Servern an. SpringSource AMS (Application Management Suite) basiert auf Hyperic HQ.
Warum dieses Interesse? Weil SpringSource neben Build nun mit tc Server, dm Server auch den Run-Bereich und nun mit Hyperic auch den Management-Bereich abdeckt - also mittlerweile den kompletten Application-Lifecycle. Und zwar mit Open Source Software.
Groovy Incremental Builds mit Eclipse
Die beiden SpringSource-Mitarbeiter Andy Clement und Jochen Theodorou haben Eclipse JDT prototypisch dazu gebracht, auch mit Groovy zurechtzukommen. Nähere Informationen gibt es unter http://andrewclement.blogspot.com/2009/05/modifying-eclipse-jdt-to-joint-compile.html. Damit ist inkrementelle Build mit Groovy kein Problem mehr, der Java-Compiler sieht Groovy-Artefakt und umgekehrt usw. Man sieht also, dass das SpringSource-Engagement für Groovy / Grails sich auszahlt!