cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rene Preissel (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CXF-5087) ThreadLocal: BusFactory.threadBus is never removed, generates permgen out of memory error after some redeployments
Date Thu, 20 Jun 2013 12:24:20 GMT

     [ https://issues.apache.org/jira/browse/CXF-5087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rene Preissel updated CXF-5087:
-------------------------------

    Description: 
The ThreadLocal BusFactory.threadBus is created in the constructor of the CXFBusImpl and removed
in the shutdown()-method.
But in an application server environment (e.g. JBoss7) with thread pools the constructor and
the shutdwon()-method are invoked from different threads and therefore this ThreadLocal is
never removed.

Issue CXF-2164 and CXF-2985 do already discuss this topic and assume that this bug is fixed,
but there is still this dangling ThreadLocal. I proved this in a JBoss7.1.1.Final environment.

I don't know the reason for having this ThreadLocal. From my point of view a ThreadLocal should
only exist for the lifetime of one request. At the end of the request, when the thread is
given back to the pool, the ThreadLocal must be cleared.

  was:
The ThreadLocal BusFactory.threadBus is created in the constructor of the CXFBusImpl and removed
in the shutdown()-method.
But in an application server environment (e.g. JBoss7) with thread pools the constructor and
the shutdwon()-method are invoked from different threads and therefore this ThreadLocal is
never removed.

Issue CXF-2164 and CXF-2985 do already discuss this topic and assume that this bug is fixed,
but there is still this dangling ThreadLocal. I proved this in an JBoss7.1.1.Final environment.

I don't know the reason for having this ThreadLocal. From my point of view a ThreadLocal should
on exist for the lifetime of one request. At the end of the request, when the thread is given
back to the pool, the ThreadLocal must be cleared.

    
> ThreadLocal: BusFactory.threadBus is never removed, generates permgen out of memory error
after some redeployments
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-5087
>                 URL: https://issues.apache.org/jira/browse/CXF-5087
>             Project: CXF
>          Issue Type: Bug
>          Components: Bus, Core
>    Affects Versions: 2.7.5
>            Reporter: Rene Preissel
>
> The ThreadLocal BusFactory.threadBus is created in the constructor of the CXFBusImpl
and removed in the shutdown()-method.
> But in an application server environment (e.g. JBoss7) with thread pools the constructor
and the shutdwon()-method are invoked from different threads and therefore this ThreadLocal
is never removed.
> Issue CXF-2164 and CXF-2985 do already discuss this topic and assume that this bug is
fixed, but there is still this dangling ThreadLocal. I proved this in a JBoss7.1.1.Final environment.
> I don't know the reason for having this ThreadLocal. From my point of view a ThreadLocal
should only exist for the lifetime of one request. At the end of the request, when the thread
is given back to the pool, the ThreadLocal must be cleared.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message