Klasse SingletonBeanProvider
- Alle implementierten Schnittstellen:
BeanInitializer
,BeanProvider
A specialized life-cycle supporting BeanProvider
implementation for
creating singleton beans.
When the getBean()
method of an instance of this class is called for
the first time, all dependencies are resolved, and a new bean instance is
created (using the specified creation bean provider). Following calls to
getBean()
always return this same bean instance. In fact, this
provider then behaves like a constant bean provider: it does not declare any
dependencies any more and does not need any synchronization support (i.e. the
getLockID()
method will always return null). This means that
providers of this type can be efficiently used in a multi-threaded
environment once they are initialized.
Instances of this class can also be initialized with an Invokable
to
be called when the bean is no more needed. This Invokable
is
triggered by the shutdown()
method. This mechanism makes it possible
to perform cleanup when a bean store is closed.
- Version:
- $Id: SingletonBeanProvider.java 208 2012-02-11 20:57:33Z oheger $
- Autor:
- Oliver Heger
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungSingletonBeanProvider
(BeanProvider createProvider) Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance.SingletonBeanProvider
(BeanProvider createProvider, Invokable initinv) Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance and the invocation object for performing initialization.SingletonBeanProvider
(BeanProvider createProvider, Invokable initInv, Invokable shutdownInv) Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance andInvokable
objects for initializing and releasing the bean managed by this provider. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibunggetBean
(DependencyProvider dependencyProvider) Returns the bean managed by this bean provider.Returns the dependencies of this bean provider.Returns the ID of the locking transaction.Returns theInvokable
object that is called when this provider is shut down.void
shutdown
(DependencyProvider depProvider) Tells this provider that it is no more needed.Von Klasse geerbte Methoden net.sf.jguiraffe.di.impl.providers.LifeCycleBeanProvider
canInitialize, createBean, doCreateBean, fetchBean, fetchInitializedBeanInstance, getBeanClass, getBeanCreator, getBeanInitializer, hasBean, initBean, initialize, isBeanAvailable, resetBean, setLockID, toString
-
Konstruktordetails
-
SingletonBeanProvider
Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance andInvokable
objects for initializing and releasing the bean managed by this provider.- Parameter:
createProvider
- the bean provider used for creating a new bean instance (must not be null)initInv
- the (optional) invocation object for performing initializationshutdownInv
- the (optional)Invokable
object to be called on shutdown- Löst aus:
IllegalArgumentException
- if the bean provider is undefined
-
SingletonBeanProvider
Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance and the invocation object for performing initialization.- Parameter:
createProvider
- the bean provider used for creating a new bean instance (must not be null)initinv
- the (optional) invocation object for performing initialization- Löst aus:
IllegalArgumentException
- if the bean provider is undefined
-
SingletonBeanProvider
Creates a new instance ofSingletonBeanProvider
and initializes it with the bean provider for creating a bean instance.- Parameter:
createProvider
- the bean provider used for creating a new bean instance (must not be null)- Löst aus:
IllegalArgumentException
- if the bean provider is undefined
-
-
Methodendetails
-
getShutdownHandler
Returns theInvokable
object that is called when this provider is shut down. This can be null if no shutdown handler was set.- Gibt zurück:
- the
Invokable
to be called on shutdown
-
getBean
Returns the bean managed by this bean provider. This implementation will create a bean on first access and then always return this instance.- Parameter:
dependencyProvider
- the dependency provider- Gibt zurück:
- the bean managed by this provider
- Löst aus:
InjectionException
- if an error occurs
-
getDependencies
Returns the dependencies of this bean provider. If already a bean has been created, this implementation returns null because there is no need any more for resolving dependencies.- Angegeben von:
getDependencies
in SchnittstelleBeanProvider
- Setzt außer Kraft:
getDependencies
in KlasseLifeCycleBeanProvider
- Gibt zurück:
- the dependencies of this bean provider
- Siehe auch:
-
getLockID
Returns the ID of the locking transaction. As long as no bean has been created yet, this implementation behaves like the method of the base class. After that it will always return null, because from now on there is no need for synchronization any more.- Angegeben von:
getLockID
in SchnittstelleBeanProvider
- Setzt außer Kraft:
getLockID
in KlasseLifeCycleBeanProvider
- Gibt zurück:
- the ID of the locking transaction
-
shutdown
Tells this provider that it is no more needed. This implementation invokes the shutdown handler if a bean was already created.- Angegeben von:
shutdown
in SchnittstelleBeanProvider
- Setzt außer Kraft:
shutdown
in KlasseLifeCycleBeanProvider
- Parameter:
depProvider
- theDependencyProvider
-