[
https://issues.apache.org/jira/browse/CAMEL-9201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Antonin Stefanutti updated CAMEL-9201:
--------------------------------------
Description:
Since version 2.10.0 of Camel, the Camel CDI component hasn't been actively
maintained and suffers from few design flaws that impede improvements and new
features.
Over the last couple of months, work has been done to refactor and improve the
existing Camel CDI component. However, given that a redesign was required to
make it more _CDI spirit_, the heavy work has been done in a separate project
and the rational for an overhaul and the contribution list documented here:
https://github.com/astefanutti/camel-cdi.
As people started using and contributing to it, it'd be better to have that
improved version contributed back to the project as soon as possible to avoid
diverging to much.
That new version of the Camel CDI component provides the following:
h4. New features
* CDI events Camel endpoint
* Camel events to CDI events bridge
* Type converter beans
* OSGi integration
h4. Improvements
* Better Camel context customisation and lifecycle
* Better multiple Camel contexts support
* {{@Uri}} and {{@Mock}} Endpoint Qualifiers Unification
* Dependency on DeltaSpike has been removed (only remaining for Main support)
h4. Compatibility
* CDI 1.0, 1.1, 1.2
* Java SE: Weld 1.x, Weld 2.x, OpenWebBeans 1.2.x, 1.6.x
* Java EE: WildFly 8.x, 9.x, WildFly Camel
* OSGi: Karaf 4
h4. Test coverage
* 100+ test cases
* 90% test coverage
* Profiles for (Weld, OpenWebBeans) x (CDI 1.0, CDI 1.2)
h4. Non-backward compatibility
h5. Compile time
* The {{@ContextName}} qualifier does not have a default empty value anymore as
it is irrelevant
* The {{CdiPropertiesComponent}} class has been removed, the standard
{{PropertiesComponent}} can be used instead
h5. Run time
* Given CAMEL-5742, a {{RouteBuilder}} bean annotated with {{@ContextName}}
should refer to an existing Camel context bean qualified with the same
{{@ContextName}} instead of creating a new Camel context. Otherwise, that
{{RouteBuilder}} gets ignored by Camel CDI though can still be added manually
to any Camel context.
* DeltaSpike is not used anymore for the sourcing of the configuration
properties. This new version is agnostic to any configuration sourcing
mechanism and delegates that concern to the application so that it can declare
a custom {{PropertiesComponent}} bean whose sourcing is tailored to its need.
DeltaSpike can still be easily used by the application by declaring a
{{PropertiesComponent}} bean configured with a {{PropertiesResolver}} /
{{PropertiesParser}} relying on DeltaSpike.
More details can be found in
https://github.com/astefanutti/camel-cdi#contribution.
was:
Since version 2.10.0 of Camel, the Camel CDI component hasn't been actively
maintained and suffers from few design flaws that impede improvements and new
features.
Over the last couple of months, work has been done to refactor and improve the
existing Camel CDI component. However, given that a redesign was required to
make it more _CDI spirit_, the heavy work has been done in a separate project
and the rational for an overhaul and the contribution list documented here:
https://github.com/astefanutti/camel-cdi.
As people started using and contributing to it, it'd be better to have that
improved version contributed back to the project as soon as possible to avoid
diverging to much.
That new version of the Camel CDI component provides the following:
h4. New features
* CDI events Camel endpoint
* Camel events to CDI events bridge
* Type converter beans
* OSGi integration
h4. Improvements
* Better Camel context customisation and lifecycle
* Better multiple Camel contexts support
* {{@Uri}} and {{@Mock}} Endpoint Qualifiers Unification
* Dependency on DeltaSpike has been removed (only remaining for Main support)
h4. Compatibility
* CDI 1.0, 1.1, 1.2
* Java SE: Weld 1.x, Weld 2.x, OpenWebBeans 1.2.x, 1.6.x
* Java EE: WildFly 8.x, 9.x, WildFly Camel
* OSGi: Karaf 4
h4. Test coverage
* 100+ test cases
* 90% test coverage
* Profiles for (Weld, OpenWebBeans) x (CDI 1.0, CDI 1.2)
h4. Non-backward compatibility
h5. Compile time
* The {{@ContextName}} qualifier does not have a default empty value anymore as
it is irrelevant
* The {{CdiPropertiesComponent}} class has been removed, the standard
{{PropertiesComponent}} can be used instead
h5. Run time
* Given CAMEL-5742, a {{RouteBuilder}} bean annotated with {{@ContextName}}
should refer to an existing Camel context bean qualified with the same
{{@ContextName}} instead of creating a new Camel context. Otherwise, that
{{RouteBuilder}} gets ignored by Camel CDI though can still be added manually
to any Camel context.
* DeltaSpike is not used anymore for the sourcing of the configuration
properties. This new version is agnostic to any configuration sourcing
mechanism and delegates that concern to the application so that it can declare
a custom {{PropertiesComponent}} bean whose sourcing is tailored to its need.
DeltaSpike can still be easily used by the application by declaring a
{{PropertiesComponent}} bean configured with a {{{{PropertiesResolver}} /
{{PropertiesParser}} relying on DeltaSpike.
More details can be found in
https://github.com/astefanutti/camel-cdi#contribution.
> Improved Camel CDI component
> ----------------------------
>
> Key: CAMEL-9201
> URL: https://issues.apache.org/jira/browse/CAMEL-9201
> Project: Camel
> Issue Type: Improvement
> Components: camel-cdi
> Reporter: Antonin Stefanutti
> Assignee: Antonin Stefanutti
> Fix For: 2.17.0
>
>
> Since version 2.10.0 of Camel, the Camel CDI component hasn't been actively
> maintained and suffers from few design flaws that impede improvements and new
> features.
> Over the last couple of months, work has been done to refactor and improve
> the existing Camel CDI component. However, given that a redesign was required
> to make it more _CDI spirit_, the heavy work has been done in a separate
> project and the rational for an overhaul and the contribution list documented
> here: https://github.com/astefanutti/camel-cdi.
> As people started using and contributing to it, it'd be better to have that
> improved version contributed back to the project as soon as possible to avoid
> diverging to much.
> That new version of the Camel CDI component provides the following:
> h4. New features
> * CDI events Camel endpoint
> * Camel events to CDI events bridge
> * Type converter beans
> * OSGi integration
> h4. Improvements
> * Better Camel context customisation and lifecycle
> * Better multiple Camel contexts support
> * {{@Uri}} and {{@Mock}} Endpoint Qualifiers Unification
> * Dependency on DeltaSpike has been removed (only remaining for Main support)
> h4. Compatibility
> * CDI 1.0, 1.1, 1.2
> * Java SE: Weld 1.x, Weld 2.x, OpenWebBeans 1.2.x, 1.6.x
> * Java EE: WildFly 8.x, 9.x, WildFly Camel
> * OSGi: Karaf 4
> h4. Test coverage
> * 100+ test cases
> * 90% test coverage
> * Profiles for (Weld, OpenWebBeans) x (CDI 1.0, CDI 1.2)
> h4. Non-backward compatibility
> h5. Compile time
> * The {{@ContextName}} qualifier does not have a default empty value anymore
> as it is irrelevant
> * The {{CdiPropertiesComponent}} class has been removed, the standard
> {{PropertiesComponent}} can be used instead
> h5. Run time
> * Given CAMEL-5742, a {{RouteBuilder}} bean annotated with {{@ContextName}}
> should refer to an existing Camel context bean qualified with the same
> {{@ContextName}} instead of creating a new Camel context. Otherwise, that
> {{RouteBuilder}} gets ignored by Camel CDI though can still be added manually
> to any Camel context.
> * DeltaSpike is not used anymore for the sourcing of the configuration
> properties. This new version is agnostic to any configuration sourcing
> mechanism and delegates that concern to the application so that it can
> declare a custom {{PropertiesComponent}} bean whose sourcing is tailored to
> its need. DeltaSpike can still be easily used by the application by declaring
> a {{PropertiesComponent}} bean configured with a {{PropertiesResolver}} /
> {{PropertiesParser}} relying on DeltaSpike.
> More details can be found in
> https://github.com/astefanutti/camel-cdi#contribution.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)