Using S3 libraries with Minio mock server

Minio WebUI

In the continuation of my previous S3 article,

I present you, how to write a S3 Java Sample program that is using a mock S3 server to develop the functionalities.

Continue Reading


Developing with S3 and Java : useful links

Amazon S3 Webservices

This article is part of my web research to prepare the development of a new feature using Amazon S3 Webservices.

Continue Reading


Parallell issues with Java software : useful links to troubleshoot

Java 8 Threads/Promises/CompletableFuture/ForkNodePool

I am writing a new release of my Spring CQRS Module(link1, link2), including a parallel execution feature.

However I am encountering several issues with the Java 8 promises aka CompletableFutures.

My issues are :

  • I am using a dedicated ForkNodePool but some promises are stilled created outside my pool
  • Some threads are slow to die (WAITING state is too long)
  • Completable.allOf is creating promises in the common ForkNodePool
  • I had an exceeded waiting thread exception

Here is two links that are helping me a lot to solve these problems :

  • Java Parallel Calamity : link
  • The Java Fork/Join Framework : link2

These two articles are well documented and explain into the details how Java/Threads/Java/JVM/Promises and parallel streams works.


Java developer testing toolbox

JBehave : code

An article dealing with Java application and testing frameworks and related libraries. Continue Reading


CompletableFuture and Java 8 Reactive

java completablefuture

I have bene using recently Java 8 new features CompletableFuture.

It works the same way as javascript promises but with a crazy hard to remember syntax and plethora of methods.

I found this great webpage to guide me through the API :

Guide To CompletableFuture

The result is this new version of the CQRS Module :


Fore more informations about that module, check there :


An example of code is here.


How to implement CQRS with Spring : new framework

This article is a presentation of a new little framework, I have developed and used on several projects.

The framework is for Spring Framework and requires Java 8.0. The code is on GitHub and downloadable from Bintray or JCenter.

Continue Reading


Writing an integration test with a mail server

This is a simple example of code to demonstrate how to use the library fakesmtp-junit-runner to write integration tests.

The library has been released on GitHub and Maven Central. Continue Reading


TOP open-source dashboard solutions 2017

Dashboards can be a very efficient communication tool for a team, between managers and business units. It enables an organization around a vision to share common goals. It can also be useful to identify weaknesses in processes and adapt your strategy according to them.

Continue Reading


Test and Data Generation for Java Unit tests

Today I was preparing a presentation about Software Code quality for a TechTalk on Thursday. I made a search on Internet about Automatic Unit test generator and Data Generators. I will present some tools I have tried. Today, we will speak of Randoop.

Randoom Test Generator

Randoom Test Generator

The first tool name is Randoop.. This tool is existing since 2007 and its purpose is to generate automatically unit tests 🙂 Directly from your class definition!

To use it you have two choices:

  • You can use your software JAR or classpath directory.
  • You can include it in your test compile path (on gradle or maven) and creates a main or unit test.

To explain short the theory, thanks to the Java reflection it’s quite easy to produce automatic tests validating some contracts of your API.

Some examples: – toString() should never returns null or throws an Exception – equals() and compareTo() methods have a long list of constraints – Reflexivity: o.equals(o) == true – Symmetry: o1.equals(o2) == o2.equals(o1) – Transitivity: o1.equals(o2) && o2.equals(o3) ⇒ o1.equals(o3) – Equals to null: o.equals(null) == false – It does not throw an exception

Therefore this tool is generating unit tests with JUnit(TestSuite) for the list of classes you provide.

I have done some tests and you can reach 50-60% of coverage quite easily.

The main drawbacks of the solution are: – The unit tests are drawing a snapshot (precise picture) of your code and its behaviour however some tests are really non-sense and you don’t want to edit them. – They don’t replace handwritten tests since the tool is not understand the different between a String parameter emailand fullName. He will mostly use dumb strings.

About the technology, it’s not production ready: – I had troubles with the jar and its dependency plume. – The JAR is a fatjar and coming with dependencies that broke my software.

In conclusion, I will fork the software and try to fix the problems to make it more popular 🙂