Monads: Are they really that complicated?

I have been working on Scala for around 2.5 years now, but still, feel that I have yet to explore a lot in this language. There are still a lot of topics unexplored. One such topic is Monads. I have heard and read about it a lot of times but never actually got a chance to explore it. Recently I came across the term and Continue Reading

Lagom Message Broker API Testing

Many of us have been working with Lagom, so I will skip telling about Lagom. Let’s just quickly go through the  important APIs that Lagom provides: Service API Message Broker API Pesistence API In this blog, we will see how we can test the Message Broker API provided by Lagom. But before doing that let’s just briefly see what this API provides! Lagom’s Message Broker Continue Reading

Let’s look at the Builder Pattern in Java

In this blog, we are going to look at what the Builder Pattern is and how does it help us construct objects of classes easily. But before understanding that, we need to understand why did we come up with the Builder Pattern in the first place. So, let’s discuss the problem statement due to which the Builder Pattern came into existence.

Working with Project Reactor: Reactive Streams

The words “Reactive” and “Streams” often go hand in hand. The streams API of Java 8 is a great tool for making your projects Reactive. But that’s not the only stream you can have. In this blog, I’d like to talk about this awesome project called Project Reactor.

Basics of Functional Interface And Lambda Expression in Java8

Java is based on OOPS concepts and abstraction is one of its feature. So by using interfaces in Java, we achieve abstraction. Like a class, an interface can have methods and variables, but the methods declared in an interface are by default abstract (method signature without body).

Threading and Futures in Java

Welcome readers, this blog is all about threading in Java. After reading this, you would be comfortable enough to program multi-threaded applications. Here, you will learn about java threads, thread pools and the concept of java future. Java Threading: The Beginning In Java, the concept of multi-threading was there from the first version itself. In Java, you can implement threading by implementing Runnable interface and Continue Reading


JPMS in Java9

Java Platform Modular System is commonly known as JPMS. The concept of JPMS i.e. Java Platform Module System came in Java 9. Its development was first started in 2005 and finally in 2017, this concept came under the project named Jigsaw. Until Java 8, we used jar files, but from Java 9 onwards, we will be using modules. Modularity is the basic rule of good Continue Reading

Running jmx2graphite as a java agent to push the JMX metrics into Graphite

In my previous blog, we discussed how to monitor a Kafka stream application using Grafana and Graphite. In this solution, we used jmx2graphite as a metrics exporter which takes the metrics from the Jolokia URL where Jolokia exposes the JMX metrics and pushes those metrics to Graphite. But, there is a problem with this solution that we need to deploy one jmx2graphite per service. So Continue Reading


Installation and switching between multiple versions of Java

Having trouble in keeping multiple versions of Java in your single system? You have approached at the right place for seeking the solution. In this blog, we will learn how to keep multiple versions of java in your system and how to switch between them as per your convenience. Before moving forward, let’s have a basic understanding of what is SDKMAN?

Functional Interfaces In Java8

Hello readers, as you have visited here, you must be aware of Interfaces in Java. Before Java 8, all methods defined in an interface are public and abstract by default. After Java 8, there were certain enhancements in interfaces. Amongst all the enhancements in Java 8, one of them is “Functional Interface”. What are Functional Interfaces? In Java, the term functional interface refers to those Continue Reading

Monitor a Kafka stream application with Graphite-Grafana using JMX metrics

A few days back, we got the requirement that we need to monitor a Kafka stream application using JMX metrics. We looked for the solution and reached to the conclusion which we will discuss in this blog. I will try to explain each and every component of the solution along with the setup and the integration part of the whole system. Proposed solution: Service (application) exposes Continue Reading

Basics of Streams In Java8

Streams are introduced in java 8. It is defined in package. A stream is sequence of objects which supports various methods. That can be pipelined to produce the result. Features of Stream Stream is not a data structure. It takes input from various sources (like array, collection, data structure) performs an operation and gives output. It does not store element. It does not change Continue Reading

Maven Simplified

This blog will provide you with the basics of maven, its importance and its life cycle. For installation, you can refer here and then continue with this blog. Why a Build tool? Initially, while learning and developing small projects, we compile limited classes and include specific JAR libraries on our own which are required to build our project. This seems very difficult in large projects Continue Reading

Knoldus Pune Careers - Hiring Freshers

Get a head start on your career at Knoldus. Join us!