Hibernate could not initialize proxy – no Session
1. Overview Working with Hibernate, we might have encountered an error that says: org.hibernate.LazyInitializationException : could not initialize proxy – no Session. In this quick tutorial, we’ll take...
View Articleand Methods in the JVM
1. Overview The JVM uses two distinctive methods to initialize object instances and classes. In this quick article, we're going to see how the compiler and runtime use the <init> and...
View ArticleUsing Kafka MockProducer
1. Overview Kafka is a message processing system built around a distributed messaging queue. It provides a Java library so that applications can write data to, or read data from, a Kafka topic. Now,...
View ArticleSpring @Import Annotation
1. Overview In this tutorial, we'll learn how to use the Spring @Import annotation while clarifying how it's different from @ComponentScan. 2. Configuration and Beans Before understanding the @Import...
View ArticleRetrying Failed Requests with Spring Cloud Netflix Ribbon
1. Overview Spring Cloud provides client-side load balancing through the use of Netflix Ribbon. Ribbon's load balancing mechanism can be supplemented with retries. In this tutorial, we're going to...
View ArticleInject Arrays and Lists From Spring Properties Files
1. Overview In this quick tutorial, we're going to learn how to inject values into an array or List from a Spring properties file. 2. Default Behavior We're going to start with a simple...
View ArticleThe “Cannot find symbol” Compilation Error
1. Overview In this tutorial, we'll review what compilation errors are, and then specifically explain what the “cannot find symbol” error is and how it's caused. 2. Compile Time Errors During...
View ArticleWhat is [Ljava.lang.Object;?
1. Overview In this tutorial, we'll learn what [Ljava.lang.Object means and how to access the proper values of the object. 2. Java Object Class In Java, if we want to print a value directly from an...
View ArticleHTTP Server with Netty
1. Overview In this tutorial, we're going to implement a simple upper-casing server over HTTP with Netty, an asynchronous framework that gives us the flexibility to develop network applications in...
View ArticleThe Constructor Return Type in Java
1. Overview In this quick tutorial, we're going to focus on the return type for a constructor in Java. First, we'll get familiar with how object initialization works in Java and the JVM. Then, we'll...
View ArticleJava Weekly, Issue 337
1. Spring and Java >> Fault-tolerant and reliable messaging with Kafka and Spring Boot [arnoldgalovics.com] A comprehensive example showcasing how to use Kafka for DLQ processing, retries, and...
View ArticleCircular View Path Error
1. Introduction In this tutorial, we'll look at how we get and resolve Circular View Path errors in a Spring MVC application. 2. Dependencies To demonstrate this, let's create a simple Spring Boot web...
View ArticleView Bytecode of a Class File in Java
1. Overview Bytecode analysis is a common practice among Java developers for many reasons, like finding problems with code, code profiling, and searching classes with specific annotations. In this...
View ArticleWhen Does JPA Set the Primary Key
1. Overview In this tutorial, we'll illustrate the moment when JPA assigns a value to the primary key. We'll clarify what the JPA specification says, and then, we'll show examples using various JPA...
View ArticleSpring YAML vs Properties
1. Introduction YAML is a human-friendly notation used in configuration files. Why would we prefer this data serialization over the properties file in Spring Boot? Besides readability and reduction of...
View ArticleReturning the Generated Keys in JDBC
1. Overview In this quick tutorial, we're going to see how we can get the last auto-generated keys with pure JDBC. 2. Setup In order to be able to execute SQL queries, we're going to use an in-memory...
View Articleboolean and boolean[] Memory Layout in the JVM
1. Overview In this quick article, we're going to see what is the footprint of a boolean value in the JVM in different circumstances. First, we'll inspect the JVM to see the object sizes. Then, we'll...
View ArticleWriting IntelliJ IDEA Plugins Using Gradle
1. Introduction Over the past few years, IntelliJ from JetBrains has quickly become the top IDE for Java developers. In our most recent State of Java report, IntelliJ was the IDE of choice for 61% of...
View ArticleExploring JVM Tuning Flags
1. Overview It's possible to tune the HotSpot JVM with a variety of tuning flags. As there are hundreds of such flags, keeping track of them and their default values can be a little daunting. In this...
View ArticleEvent-Driven Data with Apache Druid
1. Introduction In this tutorial, we'll understand how to work with event data and Apache Druid. We will cover the basics of event data and Druid architecture. As part of that, we'll create a simple...
View Article