Camel Catalog

Each release includes a catalog with all sorts of information about what’s included in the release.

About Camel Catalog

The catalog is shipped in an independent standalone camel-catalog JAR containing the following information:

  • List of all components, data formats, languages, EIPs, and everything else in the release

  • Curated lists for Camel Quarkus, Camel Spring Boot, and Camel Main runtimes

  • JSON schema with extensive details for every option

  • Human-readable documentation for every option

  • Categorization of options (for example, find all database components)

  • XML schema for the XML DSLs

There is also a Java API for tooling:

  • validating Camel endpoints and the Simple language

  • creating Camel endpoint URLs

The catalog provides a wealth of information that tooling can tap into and use.

Tooling using Camel Catalog

The following tools uses the catalog in their editor:

The Camel Maven validation plugin uses the catalog during validation of all the Camel endpoints found while scanning the source code.

Layout of camel-catalog

JAR includes the information using the following directory layout:

org
└── apache
  └── camel
    └── catalog
      ├── beans (JSON schema)
      ├── components (JSON schema)
      ├── dataformats (JSON schema)
      ├── dev-consoles (JSON schema)
      ├── languages (JSON schema)
      ├── main (JSON schema)
      ├── models (JSON schema)
      ├── others (JSON schema)
      ├── releases (JSON schema)
      ├── schemas (XML schema)
      └── transformers (JSON schema)

Each directory contains files with the information. Every Camel component is included as JSON schema files in the components directory. For example, the Timer component is included in the file timer.json.