Articles
-
My infrequently-updated list of places to work remotely in London
-
Kubernetes Pod IP addresses: How to find and use them
A practical guide to working with Pod IP addresses in Kubernetes, from my own experience.
-
The curious case of 'maxSession' in EAP/Wildfly
What does maxSession do? Where does it come from? Who even are you, anyway?
-
I wrote an MVP in Java and it was actually pleasant
Sometimes the best tools are the tools you already know.
-
Building a contact form API with Apache Camel and Quarkus
What happens when you don't want to pay for, or use, a SaaS app? Well, you write your own, of course.
-
Transformation in Camel: How to do it
Want your data, your way? Learn all about the different ways that you can transform data in Apache Camel.
-
Why I've launched a new website
I've started a new blog for my tech articles. Here's why.
-
When should you use Apache Camel?
See the use cases for Apache Camel, and when you might think about using this Java integration framework.
-
Why won't my containers talk to each other?!
I spent way too long figuring out Docker networking. Here's what I learned about getting containers to communicate, with real examples from my dev environment.
-
Understanding routes and how to use them in Apache Camel
-
Enterprise Integration Patterns: Book Review
It's a classic software architecture book. Is it worth a buy?
-
Red Hat Fuse on OpenShift Tutorial [video]
Getting started with Fuse? Follow this short video, where I create a Fuse app and deploy it onto OpenShift.
-
Pulling images into OpenShift from the Red Hat registry
How to use all those sweet images from the Red Hat registry, without nasty authorisation errors
-
A brief introduction to the ideas of DevOps
-
Event-driven integration on Kubernetes with Camel & KEDA
Can we develop apps in Kubernetes that autoscale based on events? Perhaps, with this example using KEDA, ActiveMQ and Apache Camel
-
Kubernetes on AWS: a developer's perspective
Playing around and learning Kubernetes? I tried creating an EKS cluster
-
Some thoughts currently percolating with me on how to take action on side projects
-
From lockdown idea to MVP: I launched a new tiny product this week
-
How I use draw.io at the command line
How to create nice-looking diagrams in an open, shareable, Git-friendly format
-
From developer to author: how I wrote a book
I wrote and self-published a technical book. Here's my story, in case you're thinking of doing the same.
-
Asciidoctor syntax - a cheatsheet
I was writing a lot of Asciidoctor so I thought I'd make a cheatsheet.
-
Here's an impact mapping cheatsheet which you can use as a reminder, or help you run an impact mapping session.
-
Using ActiveMQ with Apache Camel - with example
How to send and receive messages from an ActiveMQ Artemis message broker using Camel's JMS component and Spring Boot
-
Connecting to a database or message broker running in OpenShift
In the development zone? Save time by connecting directly to your database in OpenShift, using port forwarding.
-
XA transactions in Camel: a checklist
What do you need to set up distributed transactions in Apache Camel correctly?
-
Calling a REST service from Apache Camel
How to call a REST API from Apache Camel, using Camel's HTTP component
-
Monitoring Camel routes with REST
How to fetch metrics from your Camel routes over HTTP
-
Where do you put logs when developing microservices?
-
Can you have multiple Camel Contexts in one app?
An alternative to running multiple Camel Contexts in Spring Boot
-
Codifying team behaviour with a social contract
-
Learning by reading other people's code
How I solve problems and learn; by standing on the shoulders of giants.
-
Automation is worth the effort
Get automating your build, test and deployment processes. The effort is worth it.
-
There can be only one properties file
How to use Linux text manipulation in a Jenkinsfile to produce a Spring Boot properties file
-
Adventures in debugging: Camel mock endpoints are real
I discovered that mock endpoints are actually real
-
S2I builds in OpenShift - an example with Java and Maven
How to create S2I BuildConfigs for OpenShift
-
Using environment variables in Jenkins pipelines - with examples
How to use environment variables inside a Jenkinsfile
-
Deploying Spring Boot onto Kubernetes
Running a Spring Boot Java application on Kubernetes with Minikube
-
Using Arquillian Cube to test containers in Kubernetes
How to implement a basic integration test for a container using Arquillian Cube
-
JBoss/Wildfly: Setting a custom resource adapter for an MDB
Configuring a Message-Driven Bean to use a custom resource adapter, rather than the default one
-
Consuming a SOAP service with Apache Camel
How to use consume a SOAP service using the Apache CXF component in Camel
-
Infinispan Query DSL: quick example
A quick example of using the Query DSL in the Infinispan in-memory cache
-
Use the @MockEndpoints annotation in Camel [Video]
Create mock endpoints in your Camel routes automatically without having to change your route definition
-
Creating a REST service using the REST DSL [Video]
Using the REST DSL and Restlet to create a REST service in Apache Camel
-
Bean validation in Apache Camel
How to use Camel's Bean Validation component to easily perform simple data validation
-
Shutting down Camel after X messages
How to shut down Camel after a certain amount of time or messages, using the new auto-shutdown feature in Camel 2.19+ with Spring Boot
-
Using languages with Dozer in Camel
How to use Simple, Groovy and other expressions in a Dozer mapping
-
Spring Boot command line arguments example
How to run a Spring Boot app with JVM params and command line arguments
-
Using a dynamic Git branch name in a Jenkins job
How to be able to run Jenkins jobs with a dynamic branch name
-
Disable the env endpoint for Spring Boot apps
How to NOT expose your Spring Boot app's configuration
-
Cannot resolve symbol in IntelliJ
One way to fix those squiggly red lines in IntelliJ IDEA