[ 
https://issues.apache.org/jira/browse/OWB-1293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16881583#comment-16881583
 ] 

Greg Wilkins commented on OWB-1293:
-----------------------------------

Romain,

The history is that both Weld and OWB did their own integrations into Jetty 
which correctly used our decorator mechanism, but did so by exposing APIs that 
should not be exposed to most webapps and introduced fragile dependencies on 
internal Jetty mechanisms.    To somewhat hide the APIs need to expose the 
needed APIS, we created a  jetty cdi2 module that does the classpath 
manipulation for both Weld and OWB, so at least integration would be a little 
simpler and users would not need to directly manipulate the classpath (which 
I'm sure helped when we changed the package of our Decorator class).   

However, the basic approach is still fragile and dependent on internal jetty 
APIs, so what we are now proposing is that we create a new Jetty cdi module 
that exposes our decorator mechanism in a non API dependent way, which will 
allow a single jetty module to be used to integrate any CDI implementation.   
This can be done in the next few weeks, but still requires CDI implementations 
to have jetty specific integrations.

 

Ideally what is needed mid term is an SDI that all CDI implementations and all 
containers can agree on, so we will not need to do N * M integrations.    I 
think that is something that really should be looked at in the EE9 time frame. 
As servlet spec co-leader I'm interested in support for portable extensible 
decoration for CDI support in the next major rev of the servlet spec.  There is 
an open issue for this: 
[https://github.com/eclipse-ee4j/servlet-api/issues/162]  

 

 

 

 

 

 

 

> Update Jetty integration prior to Jetty-10 release
> --------------------------------------------------
>
>                 Key: OWB-1293
>                 URL: https://issues.apache.org/jira/browse/OWB-1293
>             Project: OpenWebBeans
>          Issue Type: Improvement
>          Components: Interceptor and Decorators
>            Reporter: Greg Wilkins
>            Priority: Major
>
> The current jetty integration relies on exposing private jetty APIs so a 
> jetty Decorator can be registered.   This is fragile and requires different 
> APIs for the upcoming jetty-10 release.
> Instead, Jetty is developing a mechanism where a object with a decorator 
> signature can be set as a context attribute and it will be introspected and 
> dynamically registered as a decorator without any API dependencies.
> This is currently being developed in 
> [https://github.com/eclipse/jetty.project/pull/3838] and an integration with 
> Weld is at [https://github.com/weld/core/pull/1926] 
> Feedback is sought from the OpenWebBeans team on the approach and then we'd 
> like to collaborate to make a similar integration.
>  
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to