Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to update CEQ service discovery setting for data type transformer #5047

Closed
christophd opened this issue Jan 10, 2024 · 1 comment
Closed
Labels
kind/bug Something isn't working

Comments

@christophd
Copy link
Contributor

What happened?

Since Camel 4.0 data type transformer services have been moved from camel-kamelet-utils library to the Camel core project. With this migration the path to the service discovery for these kind of data type transformers has been changed from META-INF/services/org/apache/camel/datatype/converter/* to META-INF/services/org/apache/camel/datatype/transformer/*

Since Camel 4.2 data type transformer services have been move once again to META-INF/services/org/apache/camel/transformer/*

Camel K sets these service discovery paths as a Quarkus build time property quarkus.camel.service.discovery.include-patterns. We need to make sure that we support all values for Camel 3.x, 4.0 and 4.2 runtimes.

Steps to reproduce

Use a Camel runtime later than 3.x and run a KameletBinding/Pipe with data types that triggers the data type transformer service discovery resolving mechanism.

Relevant log output

org.apache.camel.CamelExecutionException: Missing data type transformer from camel:any to type aws2-s3:application-cloudevents on the exchange

Camel K version

2.2

@christophd christophd added the kind/bug Something isn't working label Jan 10, 2024
@christophd
Copy link
Contributor Author

christophd commented Jan 10, 2024

A workaround for this is to set the service discovery path as a Maven setting on the IntegrationPlatform

For Camel 4.0 runtime (Camel K runtime 3.2.1):

k patch itp camel-k --type=merge -p '{"spec":{"build":{"maven":{"properties":{"quarkus.camel.service.discovery.include-patterns": "META-INF/services/org/apache/camel/datatype/transformer/*"}}}}}'

For Camel 4.2 runtime (Camel K runtime 3.6.0):

k patch itp camel-k --type=merge -p '{"spec":{"build":{"maven":{"properties":{"quarkus.camel.service.discovery.include-patterns": "META-INF/services/org/apache/camel/transformer/*"}}}}}'

christophd added a commit to christophd/camel-k that referenced this issue Jan 11, 2024
…ype transformer

- Make sure to support factory finder service discovery resource paths for data type transformers in different Camel runtimes
- Enables Pipes to use data type transformers that get resolved during runtime with service discovery
- Camel 3.x uses 'META-INF/services/org/apache/camel/datatype/converter/*'
- Camel 4.0 uses `META-INF/services/org/apache/camel/datatype/transformer/*`
- Camel 4.2 uses `META-INF/services/org/apache/camel/transformer/*`
squakez pushed a commit that referenced this issue Jan 11, 2024
…ansformer

- Make sure to support factory finder service discovery resource paths for data type transformers in different Camel runtimes
- Enables Pipes to use data type transformers that get resolved during runtime with service discovery
- Camel 3.x uses 'META-INF/services/org/apache/camel/datatype/converter/*'
- Camel 4.0 uses `META-INF/services/org/apache/camel/datatype/transformer/*`
- Camel 4.2 uses `META-INF/services/org/apache/camel/transformer/*`
@squakez squakez closed this as completed Jan 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants