geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Re: How to resolve the different thread is used for Tomcat context initialization ?
Date Wed, 19 Jan 2011 10:49:50 GMT
On 1/19/2011 4:17 AM, Ivan wrote:
> Hi,
> From Tomcat 7.0.6, a different thread is used for listener start, 
> filter start, and loadOnStartup, the purpose for that is for avoiding 
> potential memory leaking. But we got problems for OWB initialization, 
> as we register a OWB listener in the context. I am not sure whether 
> this issue is a common issue, but so far, I could only see that OWB is 
> affected. Now, my idea is to save the webbeans context in the servlet 
> context, then attach it with the thread in 
> WebBeansConfigurationListener. Part of those codes are like :
> --->
> WebBeansContext oldWebBeansContext = 
> GeronimoSingletonService.contextEntered((WebBeansContext)event.getServletContext().getAttribute("org.apache.webbeans.config.WebBeansContext"));
>         try {
>             this.webBeansContext = WebBeansContext.getInstance();
>             this.failoverService = 
> webBeansContext.getService(FailOverService.class);
>             //                this.lifeCycle.startApplication(event);
>             
> event.getServletContext().setAttribute(OpenWebBeansConfiguration.PROPERTY_OWB_APPLICATION,

> "true");
>         } catch (Exception e) {
>             logger.error(OWBLogConst.ERROR_0018, 
> event.getServletContext().getContextPath());
>             WebBeansUtil.throwRuntimeExceptions(e);
>         } finally {
>             GeronimoSingletonService.contextExited(oldWebBeansContext);
>         }
> <---
>
> Not sure that there is a common solution for it. Thoughts ?

Saving the information needed by the listener in the servlet context 
seems like a much cleaner solution than relying on the thread context.  
If this is the only piece that is an issue, I'd go with the simple 
solution.  If there are other contexts that need to be accessed, then I 
think these should be wrappered in a single Geronimo context object that 
would be anchored in the servlet context.

Rick


> Thanks.
> -- 
> Ivan


Mime
View raw message