Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions


and many more ....



Writing Clean Tests – Trouble in Paradise

If our code has obvious faults, we are very motivated to improve it. However, at some point we decide that our code is “good enough” and move on. Typically this happens when we think that the benefits of improving our existing code are smaller than the required work. Of course, if we underestimate our return of investment, we can make ...

Read More »

Message Content Filtering with WSO2 ESB

Every integration architect or developer should be familiair with Enterprise Integration Patterns (EIP) as described by Gregor Hohpe and Bobby Woolf. One of the patterns is the ‘Content Message Filter’ (not to be confused with the Message Filter pattern). There are multiple ways to achieve this in WSO2 with different Mediator. One way is using the XSLT Mediator where you ...

Read More »


Lately, I’ve been thinking a lot about the importance of simplicity in software. I can remember a time in my career when I considered a single system that does everything to be ideal; I dreamed of building monolithic applications that met every possible need my users may have, and I searched for all-encompassing frameworks that eliminated the need for any ...

Read More »

Hibernate Tutorial – The ULTIMATE Guide (PDF Download)

EDITORIAL NOTE: Hibernate ORM (Hibernate in short) is an object-relational mapping framework, facilitating the conversion of an object-oriented domain model to a traditional relational database. Hibernate solves the object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions. Hibernate is one of the most popular Java frameworks out there. For this reason we have provided ...

Read More »

How to exclude libraries from all dependencies in Gradle

I am using Spring boot. Spring boot by default comes with logback. I wanted to use log4j (for whatever reasons..) In order to do that I had to exclude logback and add new log4j dependencies: Logback is “hidden” inside this package: compile("org.springframework.boot:spring-boot-starter:$project.ext.springBootVersion") { exclude module: 'org.springframework.boot:spring-boot-starter-logging' } compile("org.springframework.boot:spring-boot-starter-log4j:$project.ext.springBatchVersion") Now when you try to run app you get this Exception: SLF4J: Class ...

Read More »

Shooting yourself in the foot with Random number generators

This is not going to be one of the posts explaining how a random number generator is not so random after all. So those of you expecting a guideline for how to hack a slot machine, move along, nothing to see here. Instead, it is a post about one of the not-so-uncommon lock contention issues, hidden inside random number generators ...

Read More »

Hot and cold rx-java Observable

My own understanding of Hot and Cold Observable is quite shaky, but here is what I have understood till now! Cold Observable Consider an API which returns an rx-java Observable: import obs.Util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import rx.Observable; import rx.schedulers.Schedulers; public class Service1 { private static final Logger logger = LoggerFactory.getLogger(Service1.class); public Observable<String> operation() { return Observable.<String>create(s -> {"Start: ...

Read More »

A New Idea for Calling Functions

Disclaimer: This is going to come off a bit ranty. I’m not as frustrated by the “problems” I bring us as it sounds; rather, it is used to emphasize why my thought processes did what it did. I’m not even going to be using header titles, which is weird for me :) I’ve had a recent thought process about calling ...

Read More »

Common Agile objections

Last time (“Waterfall works when…”) I promised to discuss some of those common objections to “Agile.” (Actually, reading back this this post I’m struck by how like my “12 Myths of Agile Development” which was originally a blog post 2 years ago called “11 Agile Myths of 2 Truths”.) (Apologies by the way, “Waterfall works when…” was misposted the first ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns