About Me

Hi, my name is Wim Deblauwe, a software developer specialized in Java, Spring, and JVM related tooling.

I wrote Taming Thymeleaf, a book to learn more about using Thymeleaf with Spring Boot. I also have a few open-source projects: one that makes it easy to do Spring Boot error handling, another for integration of Cypress with Testcontainers and a few others.

I blog regularly here about Spring Boot, Thymeleaf,Asciidoctor and other programming related subjects.

Stay up to date with the latest content via the RSS feed, follow me on Twitter, or subscribe to the mailing list.

Recent posts

Mar 13, 2015

Using Font Awesome in JavaFX with fontawesomefx

Icons are a great way to spice up any UI. You can easily use the Font Awesome icons in JavaFX, by using the fontawesomefx library. I will show a small example on how to use the icons in JavaFX code and how to apply some styling. First import the library. I am using Maven, so I just add this dependency: <dependency> <groupId>de.jensd</groupId> <artifactId>fontawesomefx</artifactId> <version>8.2</version> </dependency> We will start with a simple app that uses a BorderPane to put some content at the center and have a kind of header at the top:

Read More...

Nov 4, 2014

Spring Boot application with exploded directory structure

Spring Boot is really amazing for getting started quickly with a new Spring application. By default, your application is contained in a single jar when packaging it. This has some advantages, but what if you want a "classic" layout with a config folder (for your application.properties or logback.xml files) and a lib folder? Getting Started This blog post will show you a way of doing this using Maven and the Maven Assembly Plugin.

Read More...

Jul 16, 2014

Opening multiple SSH sessions with iTerm automatically

iTerm is great, but if you are working with a cluster of servers, it quickly becomes tedious to open an SSH session to each server and to configure splits so you can talk to all servers at once. Based upon the scripts here (but does not use splits) and here (but does not work with 7 servers which I needed in my case), I came up with the following AppleScript that works for me.

Read More...

Jun 11, 2014

Using Cassandra unit with TestNG

I just started some tests with Cassandra and Spring Data Cassandra. I want to write some unit tests for this using TestNG. The Cassandra Unit project uses JUnit by default, but can be used with TestNG as well with some tweaking. To start, add the following dependencies in your Maven pom: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-cassandra</artifactId> <version>1.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.apache.cassandra</groupId> <artifactId>cassandra-all</artifactId> <version>2.0.5</version> </dependency> <dependency> <groupId>org.cassandraunit</groupId> <artifactId>cassandra-unit</artifactId> <version>2.0.2.1</version> <scope>test</scope> <exclusions> <exclusion> <artifactId>cassandra-all</artifactId> <groupId>org.

Read More...

May 24, 2014

Release JIRA Database Values plugin 3.3

Just a quick note that I released version 3.3 of my JIRA database values plugin. It has only 1 bugfix: https://bitbucket.org/wimdeblauwe/jdvp/issue/14/ajax-style-field-dont-run-in-popup-screen but an important one given the 5 votes it got. Note that I cannot take any credit for the fix, user Mirek Hankus provide it. Thanks for it!

Read More...

Mar 20, 2014

Switching easily between Java JDKs on Mac OS X

I just came upon a neat little trick to easily switch what JDK you are using on the command line on Mac OS X (10.9.2 is the version I am using), courtesy of this AskDifferent answer. First, add the following aliases in ~/.profile file: alias setJdk6='export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)' alias setJdk7='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)' alias setJdk8='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)' Open a new terminal window or use source ~/.profile to load the aliases.

Read More...

Feb 7, 2014

Synchronizing LiquidPlanner with Exchange calendars

Quite some time ago I wrote Groovy code to synchronize Atlassian JIRA with LiquidPlanner. You can find my 2 part blog post on that here and here. In case you don’t know LiquidPlanner, be sure to check it out, it is the best project management/scheduling tool I know. One thing that was missing is the integration of the holidays into LiquidPlanner. Since the holidays are already in everybody’s Outlook Calendar, I could get the needed information from there.

Read More...

Dec 16, 2013

Creating a REST web application in 4 classes

After visiting Spring Exchange in London, I wanted to try Spring Boot and Spring Data. I managed to it this weekend and was quite impressed. First, I needed an entity class: import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class SensorEndpoint { @Id @GeneratedValue() private long id; private String name; private String endpointUrl; // for hibernate public SensorEndpoint() { } public SensorEndpoint(String name, String endpointUrl) { this.name = name; this.

Read More...

Dec 9, 2013

JIRA Database Values 3.1 released

I have just released the version 3.1 of the JIRA Database values plugin. It fixes the issue that sometimes the AJAX style input did not work in the create issue screen. The plugin is compatible with Atlassian JIRA 6.x. See https://marketplace.atlassian.com/plugins/org.deblauwe.jira.plugin.database-values-plugin for more info and download.

Read More...

May 22, 2013

Database Values Plugin upgraded for JIRA 6

I just finished upgrading the JIRA Database Values Plugin for JIRA 6. Download it from https://marketplace.atlassian.com/plugins/org.deblauwe.jira.plugin.database-values-plugin

Read More...