Custom JUnit 4 Test Runners
1. Overview In this quick article, we’re going to focus on how to run JUnit tests using custom test runners. Simply put, in order to specify the custom runner, we’ll need to use the @RunWith...
View ArticleIntroduction to Atomix
1. Overview Most distributed applications require some stateful component to be consistent and fault-tolerant. Atomix is an embeddable library helping in achieving fault-tolerance and consistency for...
View ArticleJava Weekly, Issue 197
Lots of interesting writeups on Java 9 this week. Here we go… 1. Spring and Java >> Spring Framework 5.0 goes GA [spring.io] >> Reacting to Spring Framework 5.0 [content.pivotal.io] Spring...
View ArticleMocking Exception Throwing using Mockito
1. Overview In this quick tutorial – we’ll focus on how to configure a method call to throw an exception with Mockito. For more information on the library, also check out our Mockito series. Here’s a...
View ArticleIntroduction to Conflict-Free Replicated Data Types
1. Overview In this article, we’ll look at conflict-free replicated data types (CRDT) and how to work with them in Java. For our examples, we’ll use implementations from the wurmloch-crdt library....
View ArticleA Guide to Deeplearning4j
1. Introduction In this article, we’ll create a simple neural network with the deeplearning4j (dl4j) library – a modern and powerful tool for machine learning. Before we get started, not that this...
View ArticleIntroduction To Docx4J
1. Overview In this article, we’ll focus on creating a .docx document using docx4j library. Docx4j is a Java library used for creating and manipulating Office OpenXML files – which means it can only...
View ArticleIntroduction to ORMLite
1. Overview ORMLite is a lightweight ORM library for Java applications. It provides standard features of an ORM tool for the most common use cases, without the added complexity and overhead of other...
View ArticleComparing Spring AOP and AspectJ
1. Introduction There are multiple available AOP libraries today, and these need to be able to answer a number of questions: Is it compatible with my existing or new application? Where can I implement...
View ArticleJIRA REST API Integration
1. Introduction In this article, we’ll have a quick look at how to integrate with the JIRA using its REST API. 2. Maven Dependency The required artifacts can be found in Atlassian’s public Maven...
View ArticleExploring the New Spring Cloud Gateway
1. Overview In this article, we’ll explore the main features of the Spring Cloud Gateway project, a new API based on Spring 5, Spring Boot 2 and Project Reactor. The tool provides out-of-the-box...
View ArticleProcessEngine Configuration in Activiti
1. Overview In our previous Activiti with Java intro article, we saw the importance of the ProcessEngine, and created one via the default static API provided by the framework. Beyond the default,...
View ArticleMigrating from Java to Kotlin
1. Overview In this tutorial, we’re going to take a look at how we can migrate from Java to Kotlin. While we’ll be looking at many basic examples, this article is not an introduction to Kotlin. For a...
View ArticleJava Weekly, Issue 198
1. Spring and Java >> JUnit 5 Tutorial: Writing Nested Tests [petrikainulainen.net] Hierarchical tests were sometimes entirely missing in the old JUnit. >> Benchmarking JDK...
View ArticleA Guide to Java Profilers
1. Overview Sometimes writing code that just runs is not enough. We might want to know what goes on internally such as how memory is allocated, consequences of using one coding approach over another,...
View ArticleIntroduction to StreamEx
1. Overview One of the most exciting features of Java 8 is the Stream API – which, simply put, is a powerful tool for processing sequences of elements. StreamEx is a library that provides additional...
View ArticleAdvanced Querying in Apache Cayenne
1. Overview Previously, we’ve focused on how to get started with Apache Cayenne. In this article, we’ll cover how to write simple and advanced queries with the ORM. 2. Setup The setup is similar to...
View ArticleIntroduction to Caffeine
1. Introduction In this article, we’re going to take a look at Caffeine — a high-performance caching library for Java. One fundamental difference between a cache and a Map is that a cache evicts...
View ArticleAnt vs Maven vs Gradle
1. Introduction In this article, we’ll explore three Java build automation tools which dominated the JVM ecosystem – Ant, Maven, and Gradle. We’ll introduce each of them and explore how Java build...
View ArticleActiviti Kickstart App and Activiti Rest Webapp
1. Overview In our previous articles (based on Activiti API with Java and Spring), we saw how to manage processes programmatically. If we want to set up a demo, along with the UI for Activiti, we have...
View Article