Apache Camel: camel-http, Apache HttpClient, and Retry Attempts

February 6, 2018

Morning!  Here’s a quick tip on camel-http and proper retry logic within error handling.  Under the hood, camel-http uses Apache’s HttpClient, which provides its own retry logic by default.  Adding Camel’s onException redeliveries on top of that ends up multiplying the attempts.

Apache Camel: Tips & Caveats (from the trenches)

January 23, 2018

While working with a new client on some Camel-based microservices, I’ve been trying my best to keep a list of caveats and potential issues that occasionally pop up. Camel’s integration patterns and components are extremely powerful and include many bells and whistles. But unfortunately, that flexibility can also get in the way… Without further ado, […]

The Right Way to Run a Technical Interview

October 11, 2016

I’ve been through my fair share of technical interviews.  Typically, they’ll ask you to complete a live exercise, provide code samples, or answer mundane questions about a particular language or framework.  Generally, those approaches are useless.  Even the most talented software engineers do not always remember how to implement hashCode(), the differences between various search/sort algorithms, or […]

How to Find a Remote Job

October 1, 2016

Recently, I briefly went through a period of looking into next step options.  I’ve worked remotely for years and have no intentions of ever changing that!  We were blessed with an awesome opportunity that popped up, so the search is finally over.  But before I completely turn to the next page, I thought I’d throw out […]

Hibernate ORM, jOOQ, HikariCP, Transactions, and Spring: An SQL / CQRS Tutorial

July 2, 2016

When it comes to interacting with relational databases, citizens of the Java world tend to be in one of two camps.  Lately, the rift continues to widen. Use Hibernate ORM for all CRUD operations, all queries, and anything else that would otherwise touch SQL.  SQL is icky.  Abstract all the things. I got 99 problems and Hibernate ORM […]