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

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

I have updated [https://github.com/eclipse/jetty.project/pull/3838] and 
[https://github.com/weld/core/pull/1926] to support all 3 integrations: legacy 
with exposed APIs, DecoratingListener and CdiDecorator.  The CDITest 
integration tests in jetty test all 3 for Weld using a SNAPSHOT build of 1926.

I just need to get the same thing working for OWB and we can release....  oh 
just reading the comments now.... so destroy in CdiDecorator is completely 
wrong!  Ugh I have to keep the creationcontext around so I can release it?   
Really not liking this option, as it smells of a memory leak to have to have a 
map of objects/classes in the server space to creationcontexts... I don't even 
know if the objects created are safe to use as map keys?

If the CdiDecorator has to be stateful ie remember class->creationcontext or 
instance->creationcontext, then I think that is the death of option B.   Such 
maps will just hold webapp classloaders in memory and will leak.  Perhaps weak 
references etc. can help, but that can be fragile.      If the CDI SPI gave me 
simple inject and destroy methods I could call without needing to be stateful, 
then I'd be OK with it.  But I'm thinking the SPI is just not simple enough to 
be used in this way.      Tell me I'm wrong....  else I'll revert in the next 
few days to just the decorating approach.  This is now getting critical path 
for us to get our next release(s) out.

 

 

> 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)

Reply via email to