Change Spring Boot embedded container

Change Spring Boot embedded container logo
This tutorial will show you show to change Spring Boot embedded container from its default Tomcat, to an alternative Jetty or Undertow.

The project Spring Boot Starter Web ships with Spring MVC and a Tomcat embedded container that at build time, is packaged within the executable jar file of the standalone Spring Boot application, so everything you need to run the application including the web container itself, is included in that jar.

However, you may want to change Tomcat for another container of your choice by whatever it is the reason, so I will going to show the required steps.

Continue reading

Spring Boot Hello World

Spring Boot Hello World logo
This tutorial will show you how to easily create a Spring Boot Hello World and explain a few concepts about this simple and productive tool.

Why Spring Boot?

The Spring ecosystem has become very large over the years, making it possible to to use dependency injection, create RESTful API’s, process batch jobs with database access and more, much more. However, the initial setup and sometimes the maintenance of such projects would be a bit messy with a considerable amount of different frameworks coexisting with each other.

Moreover, monolithic applications most of the time can only escalate as a whole, but not just their most frequently used features in order to improve computational resources usage.

Spring Boot comes to solve all of these problems, providing production ready stand-alone applications and convention over configuration settings, to let you start coding what really matters as fast as possible: your business logic.

Now that you know how important Spring Boot is, let’s go to the tutorial.

Pre-requisites

Continue reading

Spring Tool Suite: Failed to load the JNI shared library

This tutorial will show you how to solve the Spring Tool Suite “Failed to load the JNI shared library” initialisation error.
spring tool suite failed to load the jni shared library error

The “Failed to load the JNI shared library” error is generally caused by two reasons:

  1. The architecture version (32 or 64 bits) of your Java and your Spring Tool Suite don’t match;
  2. Your STS.ini is pointing to your Java home directory instead of the Java executable.

Let’s explore the solutions for both cases.

Continue reading

Install Spring Tool Suite on Eclipse

Spring logo
This tutorial will show how to install Spring Tool Suite on Eclipse and also the option to download and run the stand-alone version of the suite.

The Spring Tool Suite (STS) is an Eclipse based toolbox for Spring development, containing features such as a Boot Dashboard, support to the whole Spring ecosystem and native integration with Maven, Gradle and Git.

Pre-requisites

Continue reading

Windows socket registry entries required for network connectivity are missing

This tutorial will show how to solve the “Windows socket registry entries required for network connectivity are missing” error.

The Problem

I ran into this error for the time whilst using one of my Windows 10 machines. That said, this solution is certain to work in Windows 10 environments, but it is possible to work in future releases with a similar architecture.

The first thing I noticed was an alert over my Windows’ task bar connection icon. After that, I was unable to access any website like I had no internet connection at all: Windows 10 task bar connection
Continue reading

EJB: Application Exception vs System Exception

There are two types of exceptions in EJB: application exception and system exception. This guide will show how to identify and implement both of them.

Why two types of exceptions in EJB?

In EJB, it’s important to know whether an exception has occurred because of a business problem or a system error. That way, EJB exceptions are split in two to represent a maybe recoverable business problem (like an ordinary checked exception in Java) or a unexpected and unrecoverable issue caused by a system error or bad coding (like common runtime exceptions).

After all the concepts involved, they are just ordinary exceptions with meaningful metadata defined by annotations or XML configuration in the deployment descriptor to tell the EJB container how to deal with them.

Continue reading