Package org.apache.shiro.spring
Class LifecycleBeanPostProcessor
- java.lang.Object
-
- org.apache.shiro.spring.LifecycleBeanPostProcessor
-
- All Implemented Interfaces:
org.springframework.beans.factory.config.BeanPostProcessor
,org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor
,org.springframework.core.Ordered
,org.springframework.core.PriorityOrdered
public class LifecycleBeanPostProcessor extends Object implements org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor, org.springframework.core.PriorityOrdered
Bean post processor for Spring that automatically calls the init() and/or destroy() methods on Shiro objects that implement the
Initializable
orDestroyable
interfaces, respectfully. This post processor makes it easier to configure Shiro beans in Spring, since the user never has to worry about whether or not if they have to specify init-method and destroy-method bean attributes.Warning: This post processor has no way to determine if init() or destroy() have already been called, so if you define this post processor in your applicationContext, do not also call these methods manually or via Spring's init-method or destroy-method bean attributes.
- Since:
- 0.2
-
-
Constructor Summary
Constructors Constructor Description LifecycleBeanPostProcessor()
Default Constructor.LifecycleBeanPostProcessor(int order)
Constructor with definableorder value
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getOrder()
Order value of this BeanPostProcessor.Object
postProcessAfterInitialization(Object object, String name)
Does nothing - merely returns the object argument immediately.void
postProcessBeforeDestruction(Object object, String name)
Calls the destroy() methods on the bean if it implementsDestroyable
Object
postProcessBeforeInitialization(Object object, String name)
Calls the init() methods on the bean if it implementsInitializable
boolean
requiresDestruction(Object bean)
Return true only ifbean
implements Destroyable.
-
-
-
Constructor Detail
-
LifecycleBeanPostProcessor
public LifecycleBeanPostProcessor()
Default Constructor.
-
LifecycleBeanPostProcessor
public LifecycleBeanPostProcessor(int order)
Constructor with definableorder value
.- Parameters:
order
- order value of this BeanPostProcessor.
-
-
Method Detail
-
postProcessBeforeInitialization
public Object postProcessBeforeInitialization(Object object, String name) throws org.springframework.beans.BeansException
Calls the init() methods on the bean if it implementsInitializable
- Specified by:
postProcessBeforeInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
- Parameters:
object
- the object being initialized.name
- the name of the bean being initialized.- Returns:
- the initialized bean.
- Throws:
org.springframework.beans.BeansException
- if any exception is thrown during initialization.
-
postProcessAfterInitialization
public Object postProcessAfterInitialization(Object object, String name) throws org.springframework.beans.BeansException
Does nothing - merely returns the object argument immediately.- Specified by:
postProcessAfterInitialization
in interfaceorg.springframework.beans.factory.config.BeanPostProcessor
- Throws:
org.springframework.beans.BeansException
-
postProcessBeforeDestruction
public void postProcessBeforeDestruction(Object object, String name) throws org.springframework.beans.BeansException
Calls the destroy() methods on the bean if it implementsDestroyable
- Specified by:
postProcessBeforeDestruction
in interfaceorg.springframework.beans.factory.config.DestructionAwareBeanPostProcessor
- Parameters:
object
- the object being initialized.name
- the name of the bean being initialized.- Throws:
org.springframework.beans.BeansException
- if any exception is thrown during initialization.
-
getOrder
public int getOrder()
Order value of this BeanPostProcessor.- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
- Returns:
- order value.
-
requiresDestruction
public boolean requiresDestruction(Object bean)
Return true only ifbean
implements Destroyable.- Specified by:
requiresDestruction
in interfaceorg.springframework.beans.factory.config.DestructionAwareBeanPostProcessor
- Parameters:
bean
- bean to check if requires destruction.- Returns:
- true only if
bean
implements Destroyable. - Since:
- 1.4
-
-