Archive for the 'Java' Category

Interaktive Landkarten mit JXMapView

Nachdem mich heute ein Leser darauf aufmerksam gemacht hat, dass ein Link zu einem laufenden Beispiel einer JXMapView Anwendung leider mittlerweile offline ist (danke Dieter!), nehme ich dies als Gelegenheit selbst ein kleines Beispiel zu implementieren und einen neuen Artikel dazu zu schreiben.

Bei dem Beispiel handelt es sich um eine Swing Anwendung, die lediglich ein Fenter darstellt, in dem man Wegpunkte auf einer Karte plazieren kann. Diese werden mit einer roten Linie zu einer Rundreise verbunden.

Screenshot der Demoanwendung

Screenshot der Demoanwendung


Read more »

Standard Variablen in Maven

Immer wieder suche ich nach einer Aufstellung von Variablen, mit denen ich in der POM arbeiten kann. Da es keinen Sinn macht, hier alle nochmals zu wiederholen verweise ich direkt auf die gefundene Quelle.

OpenStreetMap in Java-Anwendungen

Im Moment arbeite ich mit einem Kommilitonen an einem Projekt, bei dem wir das Problem des Handlungdreisenden (TSP) mit einem genetischen Algorithmus bearbeiten. Als Visualisierung finde ich OpenStreetMap ganz schick! Bei der Suche nach einer Bibliothek oder etwas ähnlichem, bin ich sehr schnell auf die SwingLabs aufmerksam geworden, die mit JXMapKit eine Swing Componente bereitstellt, die bereits eine scrollbare Karte und viele weitere Funktionen breit stellt.

map
Read more »

Web-Anwendungen mit Maven im Tomcat deployen

Im Moment experimentiere ich mit Web-Services und verwende dazu SpringWS. Dabei verwende ich Maven für die Abhängigkeiten und das Bauen. Wie bei den meisten Web-Service Libraries wird auch beim Einsatz von SpringWS ein Web-Anwendung entwickelt, die anschließend im Tomcat deployed wird. Gerade in der Entwicklung wird dieser Prozess sehr oft wiederholt und schreit förmlich nach Automatisierung.
Read more »

Maven und Eclipse

Wer seine Java-Projekte mit Maven baut und die vielzähligen Möglichkeiten auch aus Eclipse heraus verwenden will, der kommt an einem Plugin für die IDE der Wahl nicht herum. Von Haus aus bringt Eclipse die Unterstützung leider nicht mit. Seit einiger Zeit habe ich zu diesem Zweck m2eclipse im Einsatz und bin sehr zufrieden damit.

Es liefert hilfreiche Unterstützung beim Anlegen von Maven-Projekten, finden von gewünschten Libraries und liefert zudem eine hübsche (wenn auch nicht ganz soo nützliche) Visualisierung der pom.xml. Heute bin ich auf einen kleine Einleitung zu diesem Plug-In auf TheServerSide.com gestoßen. Sie sei jedem Interessierten wärmstens ans Herz gelegt.

Web Services mit Groovy

Auf der Suche nach eine Bibliothek zum Implementieren von Web Services bin ich letztens auf GroovyWS gestoßen. Auf der Projektseite finden sich einige Beispiele, die zeigen wie man mit extrem wenig Code lauffähige Dienste anbieten kann. Leider funktionieren diese Beispiele mit der aktuellen Version der Bibliothek nicht mehr. Nach einer etwas längeren Suche, habe ich mich dazu entschlossen die lauffähige Version an dieser Stelle zu veröffentlichen. Read more »

Wie reagiert die JVM eigentlich auf Multi-Cores?

Wie der Titel schon sagt habe ich mir die Frage gestellt, ob die ganzen Kerne in aktuellen CPUs eigentlich zu einer Leistungsverbesserung von Java Progammen führen. Natürlich müssen die Probleme dafür parallelisierbar sein usw., aber mich interessiert eigentlich mehr, ob z.B. Threads in Java auf alle verfügbaren Prozessoren verteilt oder nur auf einem gerechnet werden. Dabei bin ich auf einen wirklich sehr guten Artikel von Ilya Grigorik gestoßen, in dem er genau dieses Szenario anhand von Ruby, Python und Java ausführt. Kann ich jedem Leser nur empfehlen selbst zu lesen.

Es stellt sich herraus, dass die Java Threads von der JVM auf OS-Threads abbildet und somit eine Verteilung auf die Verfügbaren Kerne realisiert wird. Die Skriptsprachen Pyhton und Ruby hingegen verwenden zur Synchronisierung einen Golobl Interpreter Lock (GIL), um die Nutzung von gemeinsam verwendetem, nicht Thread-sichern Code zu verhindern. Dieser GIL ist der Flaschenhals, auch wenn Ruby Threads mittlerweile 1-zu-1 auf OS-Threads abgebildet werden. Verwendet man JRuby oder Jython dieses Problem übrigens gelöst, da der GIL in diesen Implementierungen nicht benötigt wird.

PostgreSQL installieren und für entfernte JDBC Zugriffe konfigurieren

Heute habe ich mal wieder eine PostgreSQL Datenbank zum aufgesetzt, um ein wenig mit JDBC und JPA zu experimentieren. Wie immer fange ich dann an nach einem Tutorial zu suchen, in dem erklärt wird wie der Datenbankserver einzurichten ist, damit ich von entfernten Rechneren aus damit arbeiten kann. So lässt sich der Server bequem in einer VM installieren und ich kann vom Host aus entwickeln.

In diesem Artikel wird zuerst die Installation und Konfiguration der PostgreSQL Datenbank beschrieben und anschließend wie man damit über JDBC arbeitet. Dazu wird die Eclipse “Database Development” Erweiterung eingerichtet und eine JDBC Template für Java-Anwendungen gezeigt. Read more »

Zusammengesetzter Schlüssel bei 1-zu-N Beziehungen (JPA)

Stößt man bei JPA auf eine bestehende Datenbank für die Entity Mappings erstellt werden sollen, so stößt man mitunter auf Tabellen die sich nicht ohne weiteres umsetzten lassen. Im Moment erstellen ein Kommiliton und ich eine Persistenzschicht für die Sakila DB, eine Beispieldatenbank für MySQL. Read more »

Generische Proxy-Generierung mit Spring

Im Moment arbeite ich an einem generischen Verfahren zum Aufruf von Methoden auf entfernten Objekten. Die genaue Beschreibung wird wahrscheinlich in den nächsten Tagen folgen, ein Problem, für das ich heute eine Coole Lösung gefunden habe kommt aber schon heute: Read more »

Nächste Seite »