Which Camel DSL to Choose and Why?

Apache Camel is a powerful integration library that provides mainly three things: lot’s of integration connectors + implementation of multiple integration patterns + a higher-level Domain Specific Language (DSL) abstraction to glue all together nicely. While the connectors and pattern choices are use case and feature driven and easy to make, choosing which Camel DSL to use might be a little hard to reason about. I hope this article will help to guide you in your first Camel journey.

Continue reading “Which Camel DSL to Choose and Why?”

Share

Using Camel-Undertow component supporting http2 connection

This article would help to configure http2 protocol support for the camel-undertow component.

  • Camel’s undertow component use embedded undertow web-container of version undertow-core:jar:1.4.21. This version also supports the http2 connection.
  • I have used camel version 2.21.0-SNAPSHOT from upstream https://github.com/apache/camel.
  • Also, the curl version to test application using camel-undertow component is 7.53.1. This curl version supports –http2 flag for sending an http2 request.
  • I have also used nghttp to test application from linux terminal. However, this article is not about http2 insights.
  • For http2 details, I found articles [1] and [2] helpful.

Continue reading “Using Camel-Undertow component supporting http2 connection”

Share

Hexagonal Architecture as a Natural fit for Apache Camel

There are architectures and patterns that look cool on paper, and there are ones that are good in practice. Implementing the hexagonal architecture with Camel is both: cool to talk about, and a natural implementation outcome. I love going hexagonal with Camel because it is one of these combinations where the architecture and the tool come together naturally, and many end up doing it without realizing it. Let’s see why that is the case.

Continue reading “Hexagonal Architecture as a Natural fit for Apache Camel”

Share

Fuse development environment with Development Suite installer

Red Hat JBoss Fuse is an open source, lightweight and modular integration platform that allows you to connect services and systems across your entire application portfolio. If you’re familiar with Fuse, you’re probably familiar with the Fuse Tooling that comes with Red Hat JBoss Developer Studio.

Continue reading “Fuse development environment with Development Suite installer”

Share

Camel Clustered File Ingestion with JDBC and Spring

Reading a file is a common use for Apache Camel. From using a file to kick off a larger route to simply needing to store the file content, the ability to only read a file once is important. This is easy when you have a single server with your route deployed, but what about when you deploy your route to multiple servers. Thankfully, Camel has the concept of an Idempotent Consumer.

Continue reading “Camel Clustered File Ingestion with JDBC and Spring”

Share

EDI Transformations with Fuse Integration Services (FIS)

EDI, or Electronic Data Interchange, has always been a challenging domain to support for organizations. As EDI standards cover a large range of industries, from supply chain to medical to financial services (FSI), the standards rapidly evolve and change over time, thus requiring constant maintenance. The sheer cost of maintaining standards is high, not only for organizations but also for EDI software vendors who struggle to keep up. The expensive fees paid to standards organizations and rapidly evolving releases are the main reasons there are no decent open source EDI tools in the community.

Continue reading “EDI Transformations with Fuse Integration Services (FIS)”

Share
Camel Design Patterns

Short Retry vs Long Retry in Apache Camel

My Camel Design Patterns book describes 20 patterns and numerous tips and best practices for designing Apache Camel based integration solutions. Each pattern is based on a real world use case and provides Camel specific implementation details and best practices. To get a feel of the book below is an extract from the Retry Pattern section describing how to do Short and Long retires in Apache Camel.

Continue reading “Short Retry vs Long Retry in Apache Camel”

Share