Camel Quarkus

Camel Quarkus build items

Quarkus extensions pass information to each other at build time through build items produced and consumed by @BuildStep methods. This page lists the build items declared by the Camel Quarkus deployment modules. The build items provided by Quarkus itself are listed on the Quarkus build items page.

Core

Class name Attributes

RuntimeValue<CamelMain> main

A MultiBuildItem holding MainListener`s to add to `CamelMain.

RuntimeValue<MainListener> listener

Announces a bean that another extension registers synthetically. BeanDiscoveryFinishedBuildItem lists class-based beans only, so a build step that counts beans of a type through it misses the synthetic ones; the extension knowing about such a bean produces one item per bean, naming the type it counts as and, for a bean qualified by a name, that name. A consumer looking for the default bean of a type must skip the named announcements: a named bean does not carry the @Default qualifier.

DotName beanType

String name

BuildTimeCamelCatalog catalog

A MultiBuildItem holding beans to add to org.apache.camel.spi.Registry during ExecutionTime#STATIC_INIT phase.

You can use the sibling CamelRuntimeBeanBuildItem to register beans in the ExecutionTime#RUNTIME_INIT phase - i.e. those ones that cannot be produced during ExecutionTime#STATIC_INIT phase.

Note that the field type should refer to the most specialized class to avoid the issue described in https://issues.apache.org/jira/browse/CAMEL-13948.

String name

String type

RuntimeValue<?> value

Holds a CamelBeanQualifierResolver for a specified bean type.

RuntimeValue<CamelBeanQualifierResolver> runtimeValue

Class<?> beanType

String beanName

RuntimeValue<Clock> bootClockRuntimeValue

A build item that does not carry any data but it is used to signal that all the bootstrap steps have been completed.

None

RuntimeValue<ComponentNameResolver> value

RuntimeValue<CamelContext> value

A MultiBuildItem holding the CamelContextCustomizer RuntimeValue and could be used to customize the camel context before produce the CamelContextBuildItem

RuntimeValue<CamelContextCustomizer> value

A SimpleBuildItem holding a FactoryFinderResolver RuntimeValue.

RuntimeValue<FactoryFinderResolver> factoryFinderResolver

RuntimeValue<ModelJAXBContextFactory> value

A SimpleBuildItem holding a ModelReifierFactory RuntimeValue.

RuntimeValue<ModelReifierFactory> modelReifierFactory

RuntimeValue<ModelToXMLDumper> value

RuntimeValue<ModelToYAMLDumper> value

A MultiBuildItem holding the names of a types that will be scanned by the Camel PackageScanClassResolver.

Set<String> classNames

RuntimeValue<PackageScanClassResolver> value

Holds the Registry RuntimeValue. It is made available after the beans from CamelBeanBuildItem`s were registered in the underlying `Registry.

RuntimeValue<Registry> value

Holds a Resource relating to discovered Camel DSL route definition files defined by route inclusion patterns configuration.

String location

String sourcePath

boolean isHotReloadable

A MultiBuildItem holding class names of all RoutesBuilder implementations.

The class names are gathered from Jandex by camel-quarkus-core. Extensions are free to add `CamelRoutesBuilderClassBuildItem`s programmatically.

DotName dotName

A MultiBuildItem holding beans to add to org.apache.camel.spi.Registry during ExecutionTime#RUNTIME_INIT phase.

You should use the sibling CamelBeanBuildItem for all beans that can be produced during ExecutionTime#STATIC_INIT phase.

Note that the field type should refer to the most specialized class to avoid the issue described in https://issues.apache.org/jira/browse/CAMEL-13948.

String name

String type

RuntimeValue<?> value

RuntimeValue<CamelRuntime> runtime

boolean autoStartup

Marker used as synchronization item for Build Steps to ensure all the Build Steps that need to record ExecutionTime#RUNTIME_INIT.

As example some beans can be bound to the org.apache.camel.spi.Registry at ExecutionTime#STATIC_INIT but others can only be bound at ExecutionTime#RUNTIME_INIT and to be sure that the binding happens before the org.apache.camel.quarkus.core.CamelRuntime is assembled and started a CamelRuntimeTaskBuildItem is produced and the Build Steps producing CamelRuntimeBuildItem depends on it.

The initial barrier required two symmetric Build Items:

  • CamelRegistryBuildItem

  • CamelRuntimeRegistryBuildItem

Where the second Build Item was useless except for synchronization purpose and has been replaced to this generic CamelRuntimeTaskBuildItem.

String name

Signal that the basic classes listed in org.apache.camel.quarkus.core.deployment.CamelSerializationProcessor.BASE_SERIALIZATION_CLASSES, together with any additional classes passed to this build item, should be registered for serialization.

Registrations requested via this build item can be vetoed by the user with quarkus.camel.native.reflection.serialization-enabled=false. Extensions that need the base set of classes must therefore route their serialization registrations through this build item, instead of producing ReflectiveClassBuildItem.serializationClass(..) directly.

List<String> classNames

A MultiBuildItem holding information about a service defined in a property file somewhere under META-INF/services/org/apache/camel.

Path path

String name

String type

CamelServiceFilter predicate

A MultiBuildItem holding a collection of path patterns to select files under META-INF/services/org/apache/camel which define discoverable Camel services.

CamelServiceDestination destination

boolean include

List<String> patterns

RuntimeValue<TypeConverterLoader> value

Holds the org.apache.camel.spi.TypeConverterRegistry RuntimeValue.

RuntimeValue<TypeConverterRegistry> value

A MultiBuildItem bearing info about a compiled CSimple language expression.

String sourceCode

String className

boolean predicate

Hold a set of beans known to the ArC container.

Set<CamelBeanInfo> beans

Set<DotName> classes

A MultiBuildItem holding patterns whose matching classes will be excluded from the set of classes from which routes will be instantiated. This is a programmatic way of doing the same thing as can be done via RoutesDiscoveryConfig#excludePatterns.

String pattern

A MultiBuildItem holding the CamelContextCustomizer RuntimeValue and could be used to customize the camel context before starting it.

RuntimeValue<CamelContextCustomizer> value

BeanIO

Class name Attributes

Properties properties

CSimple

Class name Attributes

A MultiBuildItem bearing info about a CSimple language expression that needs to get compiled.

String sourceCode

String classNameBase

boolean predicate

DataSonnet

Class name Attributes

Map<String,String> libraries

Groovy

Class name Attributes

A MultiBuildItem bearing info about a Groovy language expression that needs to get compiled.

String sourceCode

String originalCode

String className

Java jOOR DSL

Class name Attributes

String name

String location

byte[] classData

jOOR

Class name Attributes

A MultiBuildItem bearing info about a jOOR language expression that needs to get compiled.

String sourceCode

String className

String id

boolean script

LangChain4j Embedding Store

Class name Attributes

Produced when the auto-detected default RetrievalAugmentor is registered, so that its @Default store and model can be verified once the synthetic beans exist.

None

MapStruct

Class name Attributes

Set<RuntimeValue<ConversionMethodInfo>> conversionMethodInfoRuntimeValues

Set<String> mapperPackages

Platform HTTP

Class name Attributes

RuntimeValue<PlatformHttpEngine> instance

Support Bouncy Castle

Class name Attributes

In case that non-default BC provider has to be registered, use this buildItem. (provider available for registration is BCPQC)

String proivderName

A MultiBuildItem holding cipher transformations to be explicitly registered as security services. Extensions should provide all cipher transformations that are reachable at runtime. Those cipher transformations will be explicitly instantiated at bootstrap so that graal can proceed with security services automatic registration.

List<String> cipherTransformations

Support DSL

Class name Attributes

String name

String location

boolean instantiateWithCamelContext

Support Language

Class name Attributes

ExpressionBuildItem represents an expression in a given language that has been extracted from the route definitions.

String language

String expression

String loadedExpression

boolean predicate

Object[] properties

ExpressionBuildItem represents the result of the expression extraction process.

boolean success

ScriptBuildItem represents a script and its binding context in a given language that has been extracted from the route definitions.

String language

String content

String loadedContent

Map<String,Object> bindings

XSLT

Class name Attributes

Holds a pair of XSLT template URI and the unqualified translet name to use when creating a RuntimeUriResolver.

String templateUri

String transletClassName

A MultiBuildItem holding names of the XSLT translets (and possibly also names of their ancillary classes) generated at build time.

String className