Java

Processing Files With Java 8 Streams

Streams, introduced in Java 8, use functional-style operations to process data declaratively. The elements of streams are consumed from data sources such as collections, arrays, or I/O resources like files.

Read more

Implementing Bulkhead with Resilience4j

In this series so far, we have learned about Resilience4j and its Retry, RateLimiter, and TimeLimiter modules. In this article, we will explore the Bulkhead module.

Read more

Implementing Timeouts with Resilience4j

In this series so far, we have learned about Resilience4j and its Retry and RateLimiter modules. In this article, we will continue exploring Resilience4j with a look into the TimeLimiter.

Read more

Optimize Your Dev Loop with Spring Boot Dev Tools

What are you doing when you’ve made a change to a Spring Boot app and want to test it? You probably restart it and go get a coffee or swipe through your Twitter feed until it’s up and running again.

Read more

Implementing Rate Limiting with Resilience4j

In the previous article in this series, we learned about Resilience4j and how to use its Retry module. Let’s now learn about the RateLimiter - what it is, when and how to use it, and what to watch out for when implementing rate limiting (or “throttling”, as it’s also called).

Read more

Run Your Maven Build Anywhere with the Maven Wrapper

In this article, we’ll learn about the Maven Wrapper - what problem it solves, how to set it up, and how it works.

Read more