OPI Blog
Learn from experts in their fields

Browsing Tags: Java

Wrapping a GraphQL Service With a REST API
Use Case Background Providing a GraphQL service on top of REST APIs is a typical GraphQL use case (e.g., https://graphql.org/blog/rest-api-graphql-wrapper/). Doing so can dramatically improve efficiency and flexibility, allowing data consumers to request only the data ...
Sep 3, 2020
Using Spring Beans in a Kafka Streams ExceptionHandler
There are many things to know before diving into Kafka Streams. If you haven’t already, check out these 5 things as a starting point. Bullet 2 mentions designing for exceptions. Ironically, this seems to be ...
Jun 11, 2020
Concurrently Process a Single Kafka Partition
Concurrency in Kafka is defined by how many partitions make up a topic. For a consumer group, there can be as many consumers as there are partitions, with each consumer being assigned one or more ...
Jan 16, 2020
Add a custom object to your Liquibase diff
Adding a custom object to your liquibase diff is a pretty simple two step process. Create an implementation of DatabaseObject Create an implementation of SnapshotGenerator In my case I wanted to add tracking of Stored ...
New Year’s Resolution: Spotless Code
As your team enters the new year fresh off of a “holiday reboot”, broaden your next retrospective to look at the previous year as a whole. What went well? Where did things fall short? What ...
5 Things to Know Before Using Kafka Streams
The Kafka Streams API has been around since Apache Kafka v0.10 and as the adoption of Kafka booms, so does Kafka Streams. The Streams library enables developers to create distributed processing applications while avoiding most ...
Fault Tolerant Distributed Tracing with Apache Kafka and Jaeger
Using Jaeger tracing, I’ve been able to answer an important question that nearly every Apache Kafka project that I’ve worked on posed: how is data flowing through my distributed system? I’ve started writing about this ...
Distributed Tracing with Apache Kafka and Jaeger
If you are using Apache Kafka, you are almost certainly dealing with many applications that need to work together to accomplish some big picture goal. In other words, you are working within a distributed system. ...
Equals, Is, CompareTo, and the Groovy Identity Operator
If you’ve ever tried to determine if Object a is the same as Object b in Groovy, chances are you’ve thought a lot about a == b and a.equals(b) and a.is(b). To appropriately ask this ...
A Quick Tour of Joda Beans
One of my big headaches about Java is the amount of boilerplate code you need to put in to make things work right. Especially in POJOs. I mean, is the solution to always run “generate ...