Product types
The framework supports the following products via theProductType enum:
Camel Quarkus integrations running on the Quarkus frameworkValue:
camelquarkusCamel Spring Boot integrations running on Spring BootValue:
camelspringbootApache CXF on Quarkus for SOAP and REST web servicesValue:
cxfquarkusUsing products in tests
You can create product instances in two ways:Auto-detection
Let TNB determine the product based on system properties:The product is determined by the
fuse.product system property (camelspringboot, camelquarkus, cxfquarkus). Deployment location (local vs OpenShift) is determined by the openshift.url property.Explicit product
Create a specific product instance for product-specific features:- Camel Quarkus
- Camel Spring Boot
- CXF Quarkus
Camel Quarkus
Camel Quarkus combines the power of Apache Camel with Quarkus features.Integration creation
Application skeleton is generated from theio.quarkus:quarkus-maven-plugin:<version>:create Maven plugin, and the integration code is dumped as a Java file in the app skeleton.
Available classes
LocalCamelQuarkus: Local deploymentOpenshiftCamelQuarkus: OpenShift deployment
Example
Camel Spring Boot
Camel Spring Boot provides enterprise integration patterns on the Spring Boot platform.Integration creation
Application skeleton is generated from the camel-spring-boot archetype, and the integration code is dumped as a Java file in the app skeleton.Available classes
LocalCamelSpringBoot: Local deploymentOpenshiftCamelSpringBoot: OpenShift deployment
Spring Boot-specific features
TheSpringBootIntegrationBuilder extends the base builder with Spring Boot-specific methods:
The
SpringBootIntegrationBuilder provides methods for XML Camel contexts and using existing JAR files, which are Spring Boot-specific features.CXF Quarkus
Apache CXF on Quarkus for building SOAP and RESTful web services.Available classes
OpenshiftCxfQuarkus: OpenShift deployment
Use cases
CXF Quarkus is ideal for:- SOAP web service integrations
- REST web service integrations
- WS-* protocol support
- Legacy system integration
Product lifecycle
TheProduct interface extends JUnit 5’s BeforeAllCallback and AfterAllCallback:
Multiple integrations
You can create multiple integrations in a single test:System properties
Configure product behavior using system properties:Specifies which product to useValues:
camelquarkus, camelspringboot, cxfquarkusOpenShift cluster URL. If present, deploys to OpenShift; otherwise deploys locally
Deployment strategy for OpenShiftValues:
JKUBE, BINARY, DEVFILE, CUSTOM, JKUBE_EXT_REPO