Skip to content
Blog

De Apache Camel Experience

Pieter Vercammen
Pieter Vercammen
Geschreven op 10 Mar 2026
3 min leestijd
Back-End Integratie

Geïnspireerd door de feestdagen leek dit het perfecte moment voor een kerstthema-blogpost voor alle Java-liefhebbers. Geen kerstman deze keer, maar wel een verhaal over de kamelen waarop de drie wijzen naar Bethlehem reisden. <br/>Of… toch min of meer. Eigenlijk gaat het over Apache Camel en de handige mogelijkheden die deze library biedt voor het verplaatsen van bestanden.

Je vraagt je misschien af waarom er begin 2022 nog geschreven wordt over file transfers. Newsflash: SFTP wordt nog altijd enorm veel gebruikt en dat zal waarschijnlijk nog jaren zo blijven.

Spring-gebruikers zullen misschien andere libraries aanraden of rechtstreeks met SFTP-adapters werken, maar persoonlijk blijft Apache Camel een erg aangename oplossing om mee te werken. Daarom werd het de voorbije jaren regelmatig gebruikt in verschillende projecten.

Deze blog is vooral bedoeld als korte introductie, want rond Apache Camel bestaat enorm veel documentatie. De code van het project is terug te vinden op onze GitHub-account.

Omdat Apache Camel veel dependencies bevat, volgt hieronder eerst een overzicht van degene die het vaakst gebruikt worden.

Voor Spring Boot-gebruikers die Camel voornamelijk inzetten voor file transfers van en naar een filesysteem, zijn dit de meest voorkomende dependencies.
De laatste library, Camel Swagger, wordt gebruikt voor het exposen van REST-services en API’s. In dit voorbeeld wordt echter vooral de inbegrepen commons library gebruikt om een string te tellen.

Dat toont meteen één van de sterke punten van Apache Camel: de extra functionaliteiten die eenvoudig beschikbaar zijn binnen het Apache-ecosysteem.
Een goed voorbeeld daarvan is PGP-encryptie en -decryptie.

Encryptie is een standaardpraktijk wanneer bestanden tussen systemen verplaatst worden. Vaak vereist dat complexe code of libraries zoals Bouncy Castle om PGP-bestanden te versleutelen. Met Apache Camel wordt dat verrassend eenvoudig.
Hiervoor moet enkel de camel-crypto library toegevoegd worden.

Wie deze demo lokaal wil testen of liever met een eigen development-SFTP werkt, kan eenvoudig een lokale SFTP-server opzetten met Docker.

De volledige setup wordt hier niet stap voor stap uitgelegd, maar de tutorial van Tobias Wissmueller biedt een korte en duidelijke handleiding om in enkele minuten een dockerized SFTP-server op te zetten.

Daarnaast kan uiteraard ook gewoon gewerkt worden met een lokaal filesysteem zonder SFTP. Verderop volgt nog een eenvoudig voorbeeld daarvan.

Om te starten moet eerst een route aangemaakt worden die het proces opstart.
Hiervoor wordt een klasse voorzien met de annotatie @Component, waarna deze klasse RouteBuilder uitbreidt. Binnen de verplichte configure-methode kan vervolgens het volledige pad opgebouwd worden.

In dit voorbeeld worden de paden ingesteld via application.properties, zodat ze eenvoudig aangepast kunnen worden zonder codewijzigingen. Uiteraard kunnen routes ook rechtstreeks in het pad zelf gedeclareerd worden.

Voor deze korte demo wordt exception handling bewust niet toegevoegd, al blijft het uiteraard aanbevolen om exceptions altijd correct af te handelen.

In het voorbeeld wordt gebruikgemaakt van één van de bekendste filmscripts aller tijden: Pulp Fiction.

De applicatie pollt elke vijf seconden een folder op de SFTP-server, haalt het bestand op en telt hoe vaak het woord “Fuck” voorkomt. Vervolgens wordt het bestand verplaatst naar de out-folder op de SFTP-server.

Misschien niet de meest nuttige use case – het resultaat kan je tenslotte gewoon googelen – maar de basisprincipes zijn aanwezig.

Meer dan alleen file transfers
Deze demo is uiteraard slechts een korte introductie om de mogelijkheden van Apache Camel te tonen.

Binnen een echte Apache Camel-omgeving zijn nog veel meer functionaliteiten beschikbaar:
· uitgebreide integratiemogelijkheden,
· encryptie en decryptie,
· polling,
· routing,
· transformaties,
· messaging,
· etc,.

Maar voorlopig is vooral dit belangrijk: Zoek je een gebruiksvriendelijke Java-library voor SFTP-polling en file transfers? Dan is Apache Camel absoluut het bekijken waard.

< Keep reading />

More from our team

Explore more insights, tips, and deep dives from the CraftCode team.

De Debugging-Detective: JProfiler vs. IntelliJ Profiler
Blog </> · 3 min leestijd

De Debugging-Detective: JProfiler vs. IntelliJ Profiler

Blog </> · 3 min leestijd

TDD voor leesbare code

Blog </> · 2 min leestijd

End-to-end tracing: krijg grip op de chaos van microservices!

Blog </> · 3 min leestijd

Repetitieve code wegwerken met een vaak vergeten annotatie

Aan de slag!

Klaar om jouw visie werkelijkheid te maken?
Laten we iets bouwen waar je bedrijf écht mee verder kan.