Fehler unter Mac OS X 10.6 beim Verwenden des System LookAndFeel

Ein weiteres Problem nach der Installation des letzten Java-Updates auf Mac OS X ist heute aufgetreten.

Ich wollte aus Eclipse heraus eine Swing-Awendung starten. Die Code-Zeile:

UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

Zur Erläuterung: die oben genannte Anweisung führt dazu, dass Swing-Anwendungen auf jedem System das System-Lookandfeel verwenden, z.B. unter Mac OS X das Aqua-Lookandfeel.

verursachte dann folgenden Stacktrace: Weiterlesen

 

JPA Einführung: Entity Klassen

Nachdem im ersten Teil der JPA Einführung die Infrastruktur für die Arbeit mit JPA fertig gestellt wurde, kommen wir nun zu den Entitätsklassen. Bei den Entities handelt es sich um ganz normale Java Klassen (POJOs), die kein spezielles Interface implementieren oder von einer vorgegebenen Oberklasse erben müssen. Lediglich ein default Konstruktor muss vorhanden sein.
Dank JPA Annotationen kann man erkennen, dass die Objekte persistiert werden.
Möchte man EJB3 konform arbeiten, so sollten die Annotationen dort angebracht werden, wo auf die Properties zugegriffen wird: An den Attributen für field-access, an den Getter-Methoden bei property-access. Dies sollte konsistent gemacht werden, und die beiden Formen sollten nicht gemischt werden. (Zwischen den beiden Formen wird über die Position der @Id Annotation unterschieden.)
Die Annotation der Attribute hat dabei den Vorteil, dass schnell erkennbar ist, was wie persistiert wird – kann jedoch bei einigen JPA Providern zu Performance Problemen führen. Auf der anderen Seite führen Getter-Methoden, die nicht zu persistierende Werte liefern und nicht explizit von der Persistierung ausgenommen werden zu möglicherweise schwer zu findenden Programmfehlern. Weiterlesen

 

Spring Integration 2:RC1

Von der Firma SpringSource wurde jetzt „Spring Integration 2“ als Release Candidate 1 veröffentlicht. Spring Integration ist eine auf dem Spring Framework aufbauendes Framework das Enterprise Application Integration und die EAI Patterns von Hohpe und Woolf umsetzt. Dabei unterstützt Spring Integration Messaging innerhalb von Spring Anwendungen und ermöglicht so einen modularen und lose gekoppelten Aufbau der Anwendung, externe Systeme können jedoch deklarativ zusätzlich angebunden werden.

Spring Integration 2 bringt bereits Adapter für die Anbindung von verschiedenen Systemen wie Messaging (JMS, XMPP), FTP, Mail, Webservices und auch spezielle Dienste wie Twitter mit. Neu ist in der Version 2 von Spring Integration dass die Spring Expression Language verwendet werden kann, und in der Eclipse basierten Spring Source Toolsuite (STS) ein grafischer Editor für die Modellierung der  Spring Integration Realisierung vorhanden ist. Weiterlesen

 

JPA Tutorial: JPA Einrichtung

JPA, die Java Persistence API bietet im Vergleich zu JDBC ein erhöhtes Abstraktionsniveau und ermöglicht damit in kurzer Zeit Anwendungen zu entwickeln, in denen Daten dauerhaft gespeichert werden müssen.
Zum Hintergrund von JPA: Bei dem Umgang mit Datenbanken gibt es schon sehr lange JDBC (Java Database connectivity) als einheitliche API um die Verbindung zu Datenbanken herzustellen. Auch hier handelt es sich bereits um eine einheitliche Schnittstelle, jedoch wird darüber lediglich festgelegt, wie Verbindungen aufgebaut werden, wie eine Abfrage eingeleitet wird und wie Transaktionen manuell gesteuert werden können.
Damit bleiben zwei Probleme: Der SQL Code muss von Hand erstellt werden, was gerade bei CRUD (Create, Update, Delete) Anwendungen viel Produktivität kostet, und zudem ist der SQL Code in der Regel herstellerabhängig. Ein Wechsel von Oracle zu Postgres bedeutet damit das Programm an vielen Stellen ändern zu müssen. Auch sind händisch erstellte Abfragen nicht immer optimal: Lazy loading von Entitäten, Caching Strategien und Transaktionssteuerung können sehr aufwendig werden. Dazu gesellen sich der relativ hohe Wartungsaufwand und die Gefahr von Fehlern die erst zur Laufzeit entdeckt werden. Weiterlesen

 

JUG Münster Stammtisch: 27.10. im Cuba Nova!

Der naechste Java Stammtisch findet am 27.10. im Cuba Nova in Münster ab 18:30 Uhr statt. Eingeladen sind wie immer alle an Java, Softwareentwicklung und Projektmanagement interessierten Personen.

Für Teilnehmer am Java Stammtisch gibt es einen Sonderpreis für Weizen bzw. alkoholfreies Weizen, zudem gibt es auch Aktionsangbote bei Speisen. (Mittwoch ist Steaktag)

Das Cuba Nova befindets ich in der Achtermannstrasse in der Nähe vom Hauptbahnhof. (3 Minuten zu Fuß, wenn man langsam geht.).
Parkmöglichkeiten und Anfahrt zum Java Usergroup Münster Treff: Parkhaus Engelenschanze ist am nächsten gelegen. Ansonsten empfehlen wir die Anreise mit dem Rad oder öffentlichen Verkehrsmitteln – insbesondere für Weizen-Fans. (Google Maps Link)

 

Versioning and signing jar files in Netbeans

Hi again,

these days i’ve got the problem that i need to add a version number to the SteelSeries java component library and to be honest i had no idea how to realize it.

So after a short internet research i figured out that there is the ability to add version information to the manifest file that’s included in a jar file.

If you do not know what a manifest is or how it is embedded in the jar file you will find a detailled description here.

Now that i knew where to put the version information the question was how to get Netbeans adding this information automaticaly to the manifest file during the build process. Well Netbeans is using Ant under the hood to build your projects and because i knew ant build scripts from using the Hudson Continues Integration server it was easy to achieve this.

First of all you have to locate the build.xml file in your Netbeans projects folder. Simply open it in Netbeans itself and you will see something like this… Weiterlesen