a dev's blog

Some thoughts about thoughts.

PID Generation mit Spring-Boot

2016-02-19 Development Java Spring
Ich finde dich. Ich finde deine PID und dann bin ich dein Meister Die PID. Dieses nützliche kleine Ding. Man benötigt sie beispielsweise für Init-Skripte oder das Monitoring der Applikation. Aber wie finde ich die PID von einem Prozess? Klar… ganz einfach so: Nicht ernst meinen bitte, die bessere Lösung findet sich unten. ;) foo@bar:~ pgrep java 17889 30554 30555 Hmm…. Hilft nur bedingt gut. Versuchen wir es anders: Weiterlesen

Das funktionale execute-around-pattern mit Java 8

2016-02-17 Development Java
try… catch. catch.. catch…. catch. finally! Na? Weiß jeder was ich meine? Ich gehe einfach mal von einer tief-seufzenden und bejahenden Antwort aus. ;) Unser geliebtes Java bietet ein wirklich großartiges Exception-Handling. Das muss man ihm einfach zugestehen. Allerdings ist es leider auch so, dass wir als Java-Entwickler auch immer wieder den gleichen Code schreiben. Ein klassisches - allerdings wirklich das Paradebeispiel mit JBDC-Connections - ist folgendes: public void executeSql(Connection conn, String sql) { PreparedStatement statement = null; try { statement = conn. Weiterlesen

Ein eigener Maven-Quickstart-Archetype mit Java 8

2016-02-14 Development Java Maven
Gott sei dank nicht immer wieder Handarbeit Als Java-Entwickler hat man ja dank des großen Maven Universums einen ganzen Haufen an netten Tools, die einem während der gesamten Laufzeit des Projektes unterstützen. Aber was mich persönlich immer wieder nervt ist die Tatsache, dass der normale Maven-Quickstart in einem alten Java 7 Kleid und einem total veralteten JUnit 3 daher kommt. Der perfekte Guide Auf der Maven-Projektseite findet man bereits einen wahnsinnig gut gelungen Guide, dem man eigentlich nichts mehr hinfügen kann. Weiterlesen

Danke Jackson. Danke, dass es dich gibt!

2016-02-13 Development Java
Man kann CSV-Dateien lesen oder man kann sie lesen lassen Ersteres war lange der Weg, den ich gegangen bin wenn es darauf ankam. Klar wurden Werkzeuge wie apache-commons-csv herangezogen. Aber alles in allem hat es sich jedes mal aufs neue sehr - na wie soll ich sagen - altmodisch und mit angezogener Handbremse angezogen angefühlt. Zufällig war ich neulich auf der Projektseite von Jackson unterwegs und da sind mir ein paar ziemlich coole Databindings über den Weg gelaufen. Weiterlesen

Wissen was der User macht. MDC Logging mit Spring-Boot.

2016-02-11 Development Java Spring
Eine Logmeldung ohne User-Informationen ist nichts Wert… … aber wer will schon bei jeder Zeile den Usernamen übergeben? Was ist schöner? LOG.info("foo {}", username) oder LOG.info("foo")? Und welche Lösung ist konsequenter? Und wie suggestiv sind diese Fragen? ;) Ich habe die Erfahrung gemacht, dass es in vielen Situationen sinnvoll ist die Log-Meldungen durch Context-Informationen anzureichern, die den aktuellen Prozess besser darstellen. Eine Grundlegende Funktion, die ich in jeder Webapplikation sehe ist ein Filter, der - falls ein User eingeloggt ist - dafür sorgt, dass der Username in jeder Logmeldung auftaucht. Weiterlesen

Reverse Proxy capabilities within your Spring-Boot application

2016-02-10 Development Java Spring
Kein Apache httpd, kein nginx, nur deine Spring-Boot-Anwendung Auf zum nächsten Artikel im Spring-Boot Umfeld. Heute schauen wir uns an, wie wir andere Dienste, die eigentlich unter einer anderen Adresse erreichbar sind, nativ über unsere Applikation erreichbar machen. Als Beispiel soll die Integration einer Elasticsearch-Instanz dienen. Elasticsearch - um kurz einen Ausflug zu unternehmen - ist eine äußerst skalierbare Volltext-Suche mit der großartigen Eigenschaft, dass sie über ein REST-Interface angesprochen werden kann. Weiterlesen

Spring-Boot-Security. Authenticate programmatically

2016-02-09 Development Java Spring
User Authentication mit Spring-Boot - und zwar programmatisch Spring-Boot ist inzwischen ja recht bekannt (jaha, sehr suggestiv ;) ) für eine schicke Umgebung um in kurzer Zeit großartige Anwendungen auf den Weg zu bringen. Ein Punkt, der bei einer herkömmlichen Webanwendung immer wieder Auftritt ist die programmatische Authentifizierung. Normalerweise loggt sich ein User in einer Webanwendung auf einer Login-Seite ein; oder es gibt eine Authentifizierung via OAuth, etc.pp. Allerdings gibt es - neben einer Login-Seite - häufig auch eine Register-Seite, die einen User nach erfolgreicher Authentifizierung auch einloggen sollte. Weiterlesen
Neuere Beiträge