[ 
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
* 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. See 
https://github.com/apache/camel/tree/83d0d1b01db6a6df7953a2a14342367d0775a80c/examples/camel-example-cdi-properties
 for an example.

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
* 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
> * 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. See 
> https://github.com/apache/camel/tree/83d0d1b01db6a6df7953a2a14342367d0775a80c/examples/camel-example-cdi-properties
>  for an example.
> More details can be found in 
> https://github.com/astefanutti/camel-cdi#contribution.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to