[ https://issues.apache.org/jira/browse/OWB-1293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16882899#comment-16882899 ]
Greg Wilkins commented on OWB-1293: ----------------------------------- So far in jetty we have avoided the container adding jars to the webapps class loader. I know such an approach is common in other containers, but it can introduce other problems. Let's say that we add a jar with our Decorator that knows all about the CDI SPI. It will still have to rely on the webapp itself providing a CDI-api jar that is of the right version that the decorator will work against. Now the CDI-api jar might evolve nicely without breaking binary compatibility... or it may not. I guess if the CDI api changes significantly, then we have the same problem with our reflected code.... but at least we avoid some classloader complexity. Anyway, the state of my branch is that I have a SCI that introspects the webapp looking for CDI API and if found it installs a Decorator that invokes the CDI API via MethodHandlers to decorate Listeners, Filters and Servlets. This is working for a little test webapp we have with Weld. So now I'd like to test with OWB.... do you have test webapp I can consume from maven? This approach will allow jetty to have a single integration for all CDI implementations, which will need to do no more than initialise themselves in an SCI or ServletContextListener. I have a little bit of a concern with ordering for CDIs that initialise themselves with listeners, as that listener can obviously not be decorated, nor any listeners created before it. > 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.14#76016)