jcmd: One JDK Command-Line Tool to Rule Them All

I have referenced the handy JDK tool jcmd in several posts in the past, but focus exclusively on its usefulness here like I have previously done for jps. The jcmd tool was introduced with Oracle’s Java 7 and is particularly useful in troubleshooting issues with JVM applications by using it to identify Java processes’ IDs (akin to jps), acquiring heap ...

Read More »

Java Tip of the Week #7 – Maven Slow?

This week Java Tip of the Week is a follow up of last session about Maven. The first video covered aspects related to Maven Dependencies. This video will cover some techniques to speed up your Maven build. Maven Slow? Since Maven 3, you are able to run your builds in parallel. Depending on the build machine and the project structure, ...

Read More »

Configure multiple View Resolvers in Spring

spring-interview-questions-answers

1. Introduction In Spring, the View Resolver is provided to resolve the view with the data available in the model, without tightly binding to a View technology, be it JSP, Velocity or Thymeleaf. Spring makes it easy and flexible to configure one or multiple View Resolvers, as per the need would be. 2. Spring MVC application flow Before we proceed with understanding how ...

Read More »

Couchbase on Kubernetes

This blog is possible because of this tweet! Had a great #Couchbase #Kubernetes hacking session with @saturnism, learned a lot, look forward to some nice blogs. — Arun Gupta (@arungupta) February 27, 2016 Kubernetes is an open source orchestration system by Google for Docker containers.  It manages containerized applications across multiple hosts and provides basic mechanisms for deployment, maintenance, and scaling of applications. It allows the ...

Read More »

Pitfalls of the MyBatis Caches with Apache Ignite

A week ago, MyBatis and Apache ignite announced of support apache ignite as a MyBatis cache (L2 cache). technically MyBatis support two levels of Caches: Local cache, which is always enable by default L2 cache, optional As Apache Ignite project is fast growing with it’s various functionality, in this blog post we are going to examine the MyBatis support in ...

Read More »

Analysts aren’t managers

Continuing from my last blog, Managers who aren’t managers, I need to say a bit more about people who aren’t managers but get talked about managers. This is a group of people who aren’t managers and wouldn’t consider themselves managers but programmers and testers consider to be managers. I’m thinking specifically about Business Analysts but there are others. To a ...

Read More »

DIY Annotations

Since Java 5 there have been annotations in Java. I wanted to make my own annotation just to see what it takes. However, I found out that they were just interfaces. There is the rub Interfaces have no teeth behind them. Some piece of code has to implement it. I figured this is where the rubber hits the road and ...

Read More »

Deploying a microservice – Spring Boot fatjar to Amazon Elastic Beanstalk

spring-interview-questions-answers

Recently I was working on a proof-of-concept web application that I wanted to deploy to a public cloud for a quick demo. I decided to use Amazon as I already had experience with it. Amazon offers several different ways to deploy a Java web application. Amazon EC2 EC2 gives us the flexibility to install and configure whatever we want to on the box. This is a very flexible solution for ...

Read More »

Multi level grouping with streams

1. Introduction With Java 8 streams it is pretty easy to group collections of objects based on different criteria. In this post, we will see how we can make from simple single level groupings to more complex, involving several levels of groupings. We will use two classes to represent the objects we want to group by: person and pet. Person.class ...

Read More »