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 ....



Apache Camel Eclipse Tooling with Debugger

About 2 months ago Lars Heineman blogged about improved Apache Camel Eclipse tooling on the way as part of the JBoss Tool stack In the upcoming release they have integrated the Camel debugger with the native Eclipse debugger, so you get the Eclipse debugging experience, when you use breakpoints, single step through the Camel routes. And you can of course ...

Read More »

Building a rest api with spray

Building a rest api with akka and spray is easy. This is how I did it: SprayApiApp:                   import{ActorSystem, Props} import import akka.pattern.ask import akka.util.Timeout import spray.can.Http import scala.concurrent.duration._ object SprayApiApp extends App { //we need an ActorSystem to host our application in implicit val system = ActorSystem("SprayApiApp") //create apiActor ...

Read More »

Chaining futures in scala

Suppose I want to make coffee. This involves 4 steps: 1a. grind coffee beans 1b. heat water 2. combine 3. filter All these steps take time, so they return a Future. This is our domain:     import scala.concurrent.{Await, Future} import //We need an executionContext to run futures import scala.concurrent.duration._ //This provides the "1 second" syntax class CoffeeBeans() class ...

Read More »

Basic Groovy and Grails Code Review Guidelines

I’ve been – and still am – teaching Grails to non-Java programmers for a while now. This also meant to coach them into some ways of working I hold very dear, such as pair programming and doing code reviews.                 Of course, in the beginning with a new team I am doing the ...

Read More »

Ignore the Hype: 5 Docker Misconceptions Java Developers Should Consider

How can you to take a pragmatic approach to Docker and look beyond the hype? Docker has been getting a lot of hype recently, and it’s easy to understand why. Shipping code is challenging. Container technology has traditionally been messy with lots of requirements and templates involved. Docker gives you a simple way to create containers in a repeatable manner. ...

Read More »

Code and other reviews (a small piece of advice)

Many teams have some sort of very regular reviews. I’m not thinking personnel reviews or budget reviews, I’m thinking code reviews specifically but it could be test reviews, documentation reviews or some other. Reviews that need to happen every day but which frequently get delayed. Lets stick with code reviews because they are the type I encounter most often. Code ...

Read More »

Handling time outs in Async requests in JAX-RS


JAX-RS 2.0 provides support for asynchronous programming paradigm, both on client as well as on the server end. This post which highlights the time out feature while executing asynchronous REST requests on server side using the JAX-RS (2.0) API Without diving into too many details here is a quick overview. In order to execute a method in asynchronous fashion, you ...

Read More »

Rethinking Pair Programming

By default, we always do our work in pairs. We strongly believe that the quality achieved by two people working on the same task is superior to when done by a single person. However, there are times where pairing is not very efficient. Pair programming pitfalls In a professional environment, pairing with developers who have a different software development foundation ...

Read More »

Roll Your Own Pirate-Elvis Operator

So, Java doesn’t have an Elvis operator (or, as it is more formally known, null coalescing operator or null-safe member selection) … While I personally don’t much care about it, some people seem to really like it. And when a colleague needed one a couple of days back I sat down and explored our options. And what do you know! ...

Read More »