Skip to content

.NET: XmlSerializer ohne dynamische Code-Generierung

2009 September 29
tags: , ,
by Haf

Unter C# kann man mittels XmlSerializer XML Daten zu Objekten deserialisieren oder den umgekehrten Weg, Objekte zu XML umwandeln.
Hier hat die Dokumentation jedoch eine beachtliche Lücke. XmlSerialiser generiert nämlich jedesmal on-the-fly eine DLL um den XML Stream typ-sicher umwandeln zu können. Hierfür wird eine C# Source-Datei generiert und csc.exe aufgerufen.
read more…

Spring AOP & Ehcache

2009 September 25
by Haf

Caching ist ja bekanntlich eine Querschnitts-Anforderung (cross cutting concern), was man eigentlich nicht direkt in die Business-Logik integrieren möchte/sollte.
Hier bietet es sich an, die Cache-Funktionalität mittels AOP (Aspektorientierte Programmierung) zu realisieren.
Dieser Beitrag erklärt das exemplarisch realisieren der Cache-Funktionalität mittels Spring AOP und Ehcache.
read more…

Tutorial: JSF 2.0 Beispielanwendung

2009 August 27
by Haf

Wie schon erwähnt, erscheinen bald die ersten Releases von JSF 2.0.
Entsprechend wird nun eine kleine Beispielanwendung erstellt, um einen ersten Eindruck zu bekommen.
Technologie:

  • JSF 2.0: Mojarra in Version 2.0.0-b16
  • Tomcat 6
  • Maven
  • Eclipse

read more…

Spec 2.0: JSF 2 Überblick

2009 August 26
by Haf

JSF ist ja nicht jedermanns Sache. Ich fand JSF 1.x auch mit den „Problemen“ toll. Die Implementierung (Mojarra und MyFaces) hatten so manche Fehler und zusätzliche Funktionalitäten, welche in der Spec nicht definiert wurden. Aber im Großen und Ganzen ein gutes und solides Konzept.
Leider jedoch ein Framework, was ein paar Jährchen und Trends hinter sich hat – JSF 1.1 (JSR 127, 03.2001) und JSF 1.2 (JSR 252, 05.2006). Seit 07.2009 gibt es nun das Final Release der JSF 2.0 Spezifikation (JSR 314).
read more…

Commons-IO: DirectoryWalker

2009 Juli 19
tags: , ,
by Haf

Commons-IO bzw. allg. Apache Commons ist eine schöne Ansammlung von nützlichen Bibliotheken und Funktionen.
Darunter ist auch Commons-IO zu finden. Daraus will ich heute eine spezielle Lösung vorstellen.
Hat man folgendes Problem:
Möchte man einen Ordner, inklusive dessen Unterordner, nach bestimmten Dateien suchen und dann diese vielleicht nach Last-Modified sortiert, bietet Commons-IO eine Lösung an.
read more…

Java JMS MQ Beispiel

2009 Juni 23
tags: , ,
by Haf

Vor einiger Zeit wurde MQ installiert. Nun folgt endlich ein Beispiel wie man in Java MQ ansprechen kann. Dabei wird JMS (Java Message Servic) ohne JNDI (Java Naming and Directory Interface) verwendet. Ein JNDI-Beispiel folgt in einem späteren Blog.
read more…

SQL: Constraints hinzufügen

2009 Mai 18
tags: ,
by Haf

Beim Leeren von Datenbank-Tabellen müssen immer die vorhandenen Constraints beachtet werden. Das Löschen von Tabellen-Zeilen, obwohl andere darauf verweisen, ist nicht erlaubt (referenzielle Integrität).
Versucht man es doch (mittels TRUNCATE [1]) kriegt man eine Fehlermeldung.
Hier kann man nun entweder DELETE Statements [2] nutzen, was länger dauern kann, oder man verwendet doch TRUNCATE und muss die vorhandenen Constraints löschen.

Durch das Löschen aller Constraints der betroffenen Tabelle kann diese dann mit TRUNCATE geleert werden.
Zum Hinzufügen der Constraints:

Constraints können nur dann hinzugefügt werden, wenn sie nicht vorhanden sind. Mit einer Prüfung sieht das dann so aus:

Links:
[1] SQL Drop (TRUNCATE)
[2] SQL DELETE
[3] SQL FK Constraints

Cache method results with Ehcache and Spring

2009 April 7
tags: ,
by Haf

Caching ist eins der Aspekte welches man nicht unbedingt direkt in der Businesslogik verankern möchte. Hierzu empfehlt es sich eine AOP-Lösung. Mit AOP kann die Funktionalität einer Cache-Realisierung genutzt werden. Eins der populärsten Cache-Provider ist Ehcache.

In dem Umfeld von Spring kann man Ehcache folgendermaßen integrieren:

read more…

JSF: Method not called

2009 März 10
by Haf

Java Server Faces (JSF) ist eine schöne Technologie für den Web-JEE-Bereich.

Es bietet eine gute Möglichkeit die Entkopplung der einzelnen Schichten einzuhalten und mit der Kombination von Facelets, kann sogar ein Grafiker einfacher damit arbeiten.

Bei JSF sind bestimmte „Aktionen“ einer Methode zugeordnet. (Methode aus dem ManagedBean, normale Klasse welche in faces-config.xml festgeleg wird, bzw. bei Spring-Einsatz kann man das auch weglassen). D.h. eine Aktion „Kunde anlegen“, welches als Button dargestellt wird, wird mit der Methode CustomerController.add() gebunden.

Oft funktioniert das auch ohne Probleme. Man füllt das Formular aus und drückt den Button. JSF konstruiert den ComponentTree, stellt die Daten wieder in die Objekte und sollte irgendwann auch unsere Methode CustomerController.add() aufrufen. Jaein.

<h:form enctype=“multipart/form-data“>

Man beachte <code>enctype=“multipart/form-data“ </code>. Das ist das Problem. Ein einfaches

<h:form>

funktioniert. Dann wird die Methode wieder auch aufgerufen!

WebSphere + JSF 1.2 + Facelets

2009 Januar 28
by Haf

Möchte man ein JSF Projekt unter IBM WebSphere Application Server 6.x nutzen, muss man ein paar Sachen bedenken:

read more…