shiro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tuomas Kiviaho (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SHIRO-387) EnvironmentLoader destroys wrong environment
Date Mon, 15 Oct 2012 09:24:03 GMT

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

Tuomas Kiviaho updated SHIRO-387:
---------------------------------

    Description: 
I've got a singleton EnvironmentLoader that is used to create multiple environments for multiple
servlet contexts. Initialization goes all well but destroying is done to the last created
environment and not to the one that resides in given servlet context.

A simple fix/workaroud would be to change the destroyEnvironment as
{code}
Object environment = servletContext.getAttribute(ENVIRONMENT_ATTRIBUTE_KEY);
LifecycleUtils.destroy(environment);
{code}

Instance variable reference to last initialized environment should also be removed to allow
garbage to be collected after last environment has been destroyed.

  was:
I've got a singleton EnvironmentLoader that is used to create multiple environments for multiple
servlet contexts. Initialization goes all well but destroying is done to the last created
environment and not to the one that resides in given servlet context.

A simple fix/workaroud would be to change the destroyEnvironment as
{code}
LifecycleUtils.destroy(servletContext.removeAttribute(ENVIRONMENT_ATTRIBUTE_KEY));
{code}

Instance variable reference to last initialized environment should also be removed to allow
garbage to be collected after last environment has been destroyed.

    
> EnvironmentLoader destroys wrong environment
> --------------------------------------------
>
>                 Key: SHIRO-387
>                 URL: https://issues.apache.org/jira/browse/SHIRO-387
>             Project: Shiro
>          Issue Type: Bug
>          Components: Web
>    Affects Versions: 1.2.1
>            Reporter: Tuomas Kiviaho
>
> I've got a singleton EnvironmentLoader that is used to create multiple environments for
multiple servlet contexts. Initialization goes all well but destroying is done to the last
created environment and not to the one that resides in given servlet context.
> A simple fix/workaroud would be to change the destroyEnvironment as
> {code}
> Object environment = servletContext.getAttribute(ENVIRONMENT_ATTRIBUTE_KEY);
> LifecycleUtils.destroy(environment);
> {code}
> Instance variable reference to last initialized environment should also be removed to
allow garbage to be collected after last environment has been destroyed.

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