Exceptions in Lambdas: An Elegant Solution to a Bit of a Mess

Consider the following function for writing to a file: The idea behind the method is to allow the user to pass in different implementations of InputStream to the method so that writeToFile can be called for example with a GZIPOuputStream, SnappyOuputStream (fast compression) or simply a plain FileInputStream. private static void writeToFile(File file, String value, Function<OutputStream, OutputStream> writing) throws IOException{ ...

Read More »

Generics Names

Generics type parameter names usually contain one, single capital case character. If you start to read the official ORACLE documentation on generics the first example is /** * Generic version of the Box class. * @param <T> the type of the value being boxed */ public class Box<T> { // T stands for "Type" private T t; public void set(T ...

Read More »

Jersey WebResource – Header don’t get appended

Yesterday I ran into a strange problem when using the Jersey WebResource class for doing HTTP calls: it seemed as if the headers I set, simply got ignored when executing the HTTP call. Read ahead. What I tried to achieve was to call a REST Api to get some data from on of our applications. For doing so, I used ...

Read More »

Deploying Java EE Application to Docker Swarm Cluster

What is Docker Swarm? Docker Swarm provides native clustering to Docker. Clustering using Docker Swarm 0.2.0 provide a basic introduction to Docker Swarm, and how to create a simple three node cluster. As a refresher, the key components of Docker Swarm are shown below:       In short, Swarm Manager is a pre-defined Docker Host, and is a single point for all administration. Additional Docker hosts are ...

Read More »

Functional Programming in Java 8 with Javaslang

We’re very happy to announce a guest post on the jOOQ Blog written by Daniel Dietrich, Senior Software Engineer at HSH Nordbank, husband and father of three. He currently creates a pricing framework for financial products as project lead and lead developer. Besides his work, he is interested in programming languages, efficient algorithms and data structures. Daniel wrote the short ...

Read More »

Does TDD really lead to good design?

Recently I tweeted that TDD can’t lead to a good design if we don’t know what good design looks like. I was also saying that we probably should teach design before TDD (or at least, at the same time). This tweet led to a discussions with J.B. Rainsberger, Ron Jeffries, and a few others. J.B. and I ended up having ...

Read More »