Implement SASL Authentication in Kafka With JAAS Config
1. Overview Authentication is a fundamental aspect of designing any messaging system like Kafka. We can implement authentication with approaches like user-based credentials, SSL certificates, or...
View ArticleJava Weekly, Issue 582
1. Spring and Java >> Database Migrations in the Real World [jetbrains.com] Executing database migrations is a complex process with challenges like security, downtime, or backward compatibility....
View ArticleHow to Add Partitions to an Existing Topic in Kafka
1. Overview Kafka is an extremely popular messaging queue with lots of features. We store messages inside a topic in Kafka. Topics are, in turn, divided into partitions where messages are actually...
View ArticleComposite Item Reader in Spring Batch
1. Introduction In Spring Batch, the CompositeItemReader is a tool for combining multiple ItemReader instances into a single reader. This is particularly useful when we need to read data from multiple...
View ArticleGetting Started With jMonkeyEngine
1. Introduction jMonkeyEngine is a modern, developer-friendly game engine that we can use to build games or other 3D applications in Java. In this tutorial, we’ll examine jMonkeyEngine, learning what...
View ArticleHow to Run Selenium Regression Tests With GitHub Actions
1. Overview Regression tests ensure builds are ready for release by providing critical feedback. As the codebase evolves with new requirements, bug fixes, and enhancements, running these tests...
View ArticlePrinting out a LinkedList Using toString()
1. Introduction In Java, a LinkedList is a commonly used data structure that allows dynamic memory allocation and efficient insertions or deletions. There are multiple ways to print a LinkedList’s...
View ArticleHow to Display the Last Two Digits of the Current Year in Java
1. Overview In many applications, we may need to display only the last two digits of the current year rather than the full four-digit year. In this tutorial, we’ll examine three distinct methods to do...
View ArticleConstructing a Lexical Analyzer in Java
1. Introduction Lexical analysis, also known as lexing or scanning, is the first phase of the compilation process. It takes a sequence of characters and converts them into meaningful units called...
View ArticleJava Weekly, Issue 583
1. Spring and Java >> Introduction to MockMvcTester [petrikainulainen.net] Learn about the new MockMvcTester API introduced in Spring 6.2, its benefits over the existing MockMvc, and how to...
View ArticleAdd External JAR File to IntelliJ Project
1. Introduction IntelliJ IDEA is a widely used IDE for Java development, available in free and paid versions. In Java projects, JAR files contain reusable code and resources, making it easier to use...
View ArticleWhat Is the Difference Between JDK_JAVA_OPTIONS and JAVA_TOOL_OPTIONS?
1. Overview We often need to pass JVM options without modifying our scripts when configuring Java applications. Instead of manually adding flags every time we run the java command, we can use the...
View ArticleIntegrating Passkeys into Spring Security
1. Introduction Login forms have long been, and still are, a common feature of any web service that requires authentication to provide its services. However, as security concerns started to become...
View ArticleJava Equivalent to Python’s Easy String Slicing
1. Overview String manipulation is a common task in programming. Python offers a straightforward approach to slicing strings using a simple syntax. However, string slicing isn’t as direct in Java and...
View ArticleCreating a Custom Linked List Data Structure in Java
1. Overview Unlike arrays, which allocate a contiguous block of memory for sequential storage, a linked list distributes its elements across non-contiguous memory locations, with each node referencing...
View ArticleExploring Model Context Protocol (MCP) With Spring AI
1. Overview Modern web applications are increasingly integrating with Large Language Models (LLMs) to build solutions, which are not just limited to general knowledge-based question-answering. To...
View ArticleGenerate Avro Schema From Certain Java Class
1. Introduction In this tutorial, we’ll discuss different options for generating Avro schemas from existing Java classes. Although not the standard workflow, this direction of transformation might...
View ArticleImplementing Semantic Search Using Spring AI and PGVector
1. Overview Searching is a fundamental concept in software, aimed at finding relevant information in a large dataset. It involves finding a specific item in a collection of items. In this tutorial,...
View ArticleHow Hibernate Dirty Checking Mechanism Works
1. Introduction In this tutorial, we’ll explore one of Hibernate‘s features: the Dirty Checking mechanism. This concept enables Hibernate to detect changes in the state of entities automatically,...
View ArticleHow to Ignore Scenarios in Cucumber
1. Introduction In this tutorial, we’ll learn how to run or skip Scenarios selectively in Cucumber. Cucumber is a tool that supports Behaviour-Driven Development (BDD). It reads executable...
View Article