Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

What’s new in Red Hat build of Apache Camel 4.8

December 12, 2024
Ivo Bek
Related topics:
APIsData integrationIntegrationQuarkusSpring Boot
Related products:
Red Hat build of Apache Camel

Share:

    Red Hat build of Apache Camel 4.8 is a highly adaptable, lightweight toolkit designed for enterprise integration, offering key advantages in flexibility and performance. Find out what's new in this release, which builds on its strong foundation with enhancements in contract-first API development, optimized OpenShift-based workflows, and improved developer tooling.

    Apache Camel enhancements

    Red Hat build of Apache Camel 4.8 introduces several enhancements and updates to the framework, including the productization of Kamelets, and making them a core part of Camel.

    Red Hat refined and added support for the following components: 

    • Secret managers and vaults: AWS Secrets Manager (tech preview in Quarkus), Azure Key Vault (tech preview), GCP Secret Manager (tech preview in Quarkus), Hashicorp Vault
      • All except Hashicorp Vault support automated secret refresh feature.
    • JQ expression language, BeanIO data format, Quarkus Qute transformation templating
    • GraphQL on Quarkus runs GraphQL queries and mutations over HTTP, like fetching book details
    • Flink enables message routing to Flink tasks for data processing, such as sending a dataset to a Flink job for counting matching lines
    • SMB natively connects to SMB file shares, like Windows or Samba, for reading and writing files
    • New ElasticSearch REST Client handles indexing, searching, and managing documents in ElasticSearch 8.x or OpenSearch
    • Azure EventHubs, Azure Storage Queue, Azure Storage Blob
    • Spring RabbitMQ in Quarkus
    • New Enterprise Integration Patterns
      • setVariables: Set multiple variables simultaneously
      • poll: A simpler alternative to the pollEnrich EIP

    For the full list of supported components, check the reference guides in the product documentation.

    Several improvements were also made to already supported components, such as:

    • Azure ServiceBus was refactored to use a high-level client, improving robustness, failover, and reconnection.
    • SQL now supports variables in SQL queries
    • Kafka introduced JMSDeserializer for type-correct serialization/deserialization of JMS headers (e.g., long, int, string).
    • Crypto was validated for use with SunPKCS11-NSS-FIPS provider, ensuring FIPS compliance
    • Cluster leader election via the Master component, now supported with dedicated components: File cluster service, Kubernetes cluster service (tech preview) which were previously part of File and Kubernetes components
    • Log EIP allows easier configuration of logger names with dynamic patterns
    • Kubernetes Secrets can now reload Camel Context on Kubernetes Secrets updates.

    The YAML DSL now supports setting Error handlers at the route's top level in addition to within route configurations. Both YAML and XML DSLs offer a consistent approach to defining beans, whether in routes or Kamelets. Developers can define beans using constructors, properties, builders, factory beans, scripts, and more. Additionally, custom beans in YAML and XML DSLs can now reference other beans through constructor parameters.

    To simplify expressions, the Simple language introduces new functions: substring, replace, fromRouteId, and iif (ternary if).

    Performance has been enhanced with micro-optimizations in Camel core. Matching predicates in the Simple language are now approximately 12% faster on average. Furthermore, buffer sizes used across multiple operations have been fine-tuned, reducing CPU cycles for string generation, input handling, and data processing.

    The JUnit5 test module undergoes refactoring. Use of internal APIs is now restricted, and certain APIs have been deprecated. Future versions will introduce new, stable interfaces for configuring test behavior, context, and related functionalities, ensuring better maintainability and reliability.

    Migration documentation simplified navigation for migrating from Red Hat Fuse, migrating from Camel 3, or upgrading to the latest versions of Camel 4 on Quarkus projects leveraging the automatic Update assistant between the 4.x versions. Testing documentation includes a step-by-step tutorial guiding developers on testing Camel applications. And a new Security Guide covers Camel route security, payload security, endpoint security, and configuration security.

    Standardized Camel on OpenShift experience

    Apache Camel offers limitless possibilities for diverse development practices and workflows. Through years of experience and recent engagements, we’ve accumulated expertise in crafting solutions for building and managing integrations in the cloud. To share these learnings, we’ve started documenting best practices and recommended setups for using Apache Camel on OpenShift.

    Key highlights include:

    • Integrating Camel with secret managers and vaults.
    • Best practices for building and deploying Camel applications with OpenShift Pipelines and GitOps services.
    • Accessing Kubernetes secrets and config maps within Camel applications.
    • Observing Camel applications using OpenShift Observability and Red Hat's build of OpenTelemetry.

    The best practice documentation will continue to evolve with further expansions planned for 2025.

    We’ve introduced a new approach for quickly prototyping and deploying Camel applications on OpenShift. Explore our new tutorial on the no-cost Developer Sandbox for Red Hat OpenShift, which guides you through designing an integration service that retrieves user details in XML and transforms them into JSON: Try Apache Camel: From concept to deployment on OpenShift

    This prototyping-focused workflow leverages Camel JBang and its new Kubernetes plug-in, which automate essential steps including assembling and running the application locally, building the container image, and deploying it to OpenShift. The process adheres to standard development practices, including the generation of Kubernetes manifest custom resources, which can later be exported to a standard Maven project for further development and phases into production.

    Contract-first API development

    The Red Hat build of Apache Camel 4.8 introduces contract-first support with OpenAPI, streamlining API-first development. By leveraging OpenAPI v3 specification files as blueprints, Camel automatically parses these contracts and maps APIs to Camel routes using the direct:operationId convention. When paired with tools like the Red Hat build of Apicurio Registry and Apicurio Studio, this creates a cohesive solution for contract-driven API design.

    This release positions Camel as a cornerstone of the contract-first IDP, developer platform reference architecture, providing a set of golden paths designed to support a productive developer experience, especially for contract-driven integration scenarios. The developer platform reference manifest takes a GitOps approach for platform automation and the golden path templates are designed to streamline a contract-first development methodology.

    Kaoto Integration Designer improvements

    The Kaoto integration designer for Apache Camel introduces several enhancements, focusing on usability, customization, and new functionality to streamline integration workflows.

    • DataMapper (tech preview) enables mapping variables and exchange body to a new XML destination format using the XSLT v2 specification, as shown in Figure 1. Future updates will expand this capability to support direct mappings between XML and JSON and will bring an upgrade to XSLT v3.
    • Runtime and version selection allows users to choose their preferred runtime (Quarkus or Spring Boot) and version (4.8 or 4.4) supported by Red Hat.
    Kaoto Data Mapper
    Figure 1: The Kaoto Integration Designer - DataMapper.

    Kaoto has undergone a series of UX improvements aimed at better organization, performance, and ease of use:

    • Containers for organization
    • Improved step management: A new toolbar on hover/click, quick addition of next steps, warnings when replacing steps, and the ability to enable all disabled steps at once.
    • Canvas interactions: Autoclose sidebar on canvas click, persistent sidebar width adjustments, and smoother navigation between nodes.
    • Form and layout tweaks: Enhanced property filters and quicker value lookups, direct access to expression fields, improved multi-value selectors, and better default handling
    • Catalog upgrades: Paging, improved browsing performance, faster search

    These updates solidify Kaoto as a powerful and user-friendly integration designer for Apache Camel, catering to diverse developer needs while enabling faster and more efficient integration design.

    Rapid In-depth insights and tracing

    Camel now provides more detailed service and protocol insights in traces, particularly for components that connect to remote systems. For instance, when connecting to databases or messaging systems, configurations like database drivers, connection pools, and similar elements are often managed outside of Camel. This has historically limited Camel’s ability to display the actual host:port used for connections.

    To address this, Camel now detects these scenarios and attempts to retrieve such details for a variety of known connection pools, database drivers, and cloud providers, enhancing visibility and traceability.

    Run camel trace --action=start to quickly start tracing.

    Camel JBang CLI introduces new commands for accessing in-depth information, as described in Table 1.

    Command

    Description

    get bean

    Shows your custom beans with their configuration versus runtime properties to ensure they are configured correctly

    get rest

    Shows all REST endpoint and operations hosted in Camel integrations

    cmd browse

    Browse messages on external systems such as JMS brokers and FTP servers

    get kafka

    Shows Kafka topic information such as committed offset

    It is now possible to configure logging levels for specific package names directly in the application properties, such as:

    logging.level.org.apache.kafka = DEBUG

    Additional tooling improvements

    Taking inspiration from the Quarkus Maven plugin's automated minor version updates, the Red Hat build of Apache Camel 4.8 introduces the 4.x Update Assistant, extending this capability to Camel applications on both Quarkus and Spring Boot. Built on OpenRewrite, it provides assisted upgrades between 4.x versions, such as transitioning from 4.0 to 4.8, automating tasks like renaming classes, updating method signatures, and adapting to new Camel API changes.

    HawtIO has received performance optimizations to handle a large number of MBeans efficiently. The Discovery plugin now includes paging to manage the loading of multiple pods, ensuring smooth operation even at scale. Additionally, HawtIO Online is now certified and supported on OpenShift for ppc64le (IBM Power) and s390x (IBM Z) architectures.

    The Camel JBang CLI has been enhanced to allow developers to select their preferred runtime, Quarkus or Spring Boot, directly during execution:

    $ camel run route.camel.yaml --runtime=quarkus
    $ camel run route.camel.yaml --runtime=spring-boot

    For demonstrations and lightweight applications, Camel JBang now supports bundling small web apps. By including .html, .js, and .css files alongside the Camel source code, you can run the entire setup with a single command:

    $ camel run *

    Enterprise Integration Explorer (beta)

    Enterprise Integration Explorer, shown in Figure 2, is a curated catalog of integration patterns and components with links to examples. It highlights the latest supported components, suggests alternatives for deprecated ones, and offers quick access to official documentation and community resources. Note: Data format and miscellaneous components are not yet included.

    Enterprise Integration Explorer
    Figure 2: The Enterprise Integration Explorer catalog.

    You can also share quick links to specific groups or custom lists of components/patterns via URL, such as:

    • Red Hat-supported components
    • AI/ML components
    • Components used in the article Tutorial: Tool up your LLM with Apache Camel on OpenShift
    • Routing patterns

    Researching integrations in generative AI and ML applications

    We added new components and capabilities for studying and experimenting with AI and machine learning integrations. These additions are part of an ongoing effort to explore and understand the potential of emerging AI technologies within the Camel ecosystem.

    New Camel AI community components:

    • AWS Bedrock simplifies experimentation with deploying foundation models.
    • LangChain facilitates advanced generative artificial intelligence (gen AI) workflows, including chat, embeddings, tools, tokenization, and web search capabilities.
    • Milvus, Qdrant, and Pinecone add integration with vector databases, embeddings and similarity-based search mechanisms

    Try them out in our new tutorials and solution pattern:

    • Tool up your LLM with Apache Camel on OpenShift
    • Try OpenShift AI and integrate with Apache Camel
    • Solution Pattern: Edge to Core Data Pipelines for AI/ML

    The DJL component has been extended to cover a wider range of machine learning use cases, providing tools for researchers to explore capabilities in Computer Vision (CV), Natural Language Processing (NLP), Audio Processing and Time-Series Forecasting.

    Next step

    • Try Camel in the Developer Sandbox

    Resources

    • What’s new in Apache Camel 4.8 (community)
    • What’s new in Apache Camel 4.7 (community)
    • What’s new in Apache Camel 4.6 (community)
    • What’s new in Apache Camel 4.5 (community)

    Related Posts

    • Camel integration quarterly digest: Q3 2024

    • Tutorial: Tool up your LLM with Apache Camel on OpenShift

    • Six reasons to love Camel K

    • Try Apache Camel: From concept to deployment on OpenShift

    • AI-driven data extraction using Apache Camel and LangChain4J

    • Camel integration quarterly digest: Q3 2024

    Recent Posts

    • How to run a fraud detection AI model on RHEL CVMs

    • How we use software provenance at Red Hat

    • Alternatives to creating bootc images from scratch

    • How to update OpenStack Services on OpenShift

    • How to integrate vLLM inference into your macOS and iOS apps

    What’s up next?

    Learn how to create an Apache Camel integration and deploy it as a serverless service using the VS Code extension Karavan.

    Start the activity
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue