public class BeanManagerProvider extends Object implements javax.enterprise.inject.spi.Extension
BeanManager by registering the current BeanManager in an extension
 and making it available via a singleton factory for the current application.
 This is really handy when you need to access CDI functionality from places where no injection is available.
If a simple but manual bean lookup is needed, it's easier to use the BeanProvider.
As soon as an application shuts down, the reference to the BeanManager is removed.
Usage:
BeanManager bm = BeanManagerProvider.getInstance().getBeanManager();
 Attention: This approach is intended for use in user code at runtime. If BeanManagerProvider is used during
 Container boot (in an Extension), non-portable behaviour results. During bootstrapping, an Extension shall
 @Inject BeanManager to get access to the underlying BeanManager (see e.g. cleanupFinalBeanManagers(javax.enterprise.inject.spi.AfterDeploymentValidation)).
 This is the only way to guarantee that the right BeanManager is obtained in more complex Container scenarios.
| Constructor and Description | 
|---|
BeanManagerProvider()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
cleanupFinalBeanManagers(javax.enterprise.inject.spi.AfterDeploymentValidation adv)
By cleaning the final BeanManager map after the deployment gets validated, premature loading of information from
 JNDI is prevented in cases where the container might not be fully setup yet. 
 | 
void | 
cleanupStoredBeanManagerOnShutdown(javax.enterprise.inject.spi.BeforeShutdown beforeShutdown)
Cleanup on container shutdown. 
 | 
javax.enterprise.inject.spi.BeanManager | 
getBeanManager()
The active  
BeanManager for the current application (current ClassLoader). | 
static BeanManagerProvider | 
getInstance()
Returns the current provider instance which provides access to the current  
BeanManager. | 
static boolean | 
isActive()
Indicates whether the  
BeanManagerProvider has been initialized. | 
void | 
setBeanManager(javax.enterprise.inject.spi.AfterBeanDiscovery afterBeanDiscovery,
              javax.enterprise.inject.spi.BeanManager beanManager)
It doesn't really matter which of the system events is used to obtain the BeanManager, but
  
AfterBeanDiscovery has been chosen since it allows all events which occur after the
 AfterBeanDiscovery to use the BeanManagerProvider. | 
public static boolean isActive()
BeanManagerProvider has been initialized. Usually it's not necessary to call this
 method in application code. It's useful e.g. for other frameworks to check if DeltaSpike and the CDI container in
 general have been started.public static BeanManagerProvider getInstance()
BeanManager.IllegalStateException - if the BeanManagerProvider isn't ready to be used. That's the case if the
                               environment isn't configured properly and therefore the AfterBeanDiscovery
                               hasn't been called before this method gets called.public void setBeanManager(@Observes
                           javax.enterprise.inject.spi.AfterBeanDiscovery afterBeanDiscovery,
                           javax.enterprise.inject.spi.BeanManager beanManager)
AfterBeanDiscovery has been chosen since it allows all events which occur after the
 AfterBeanDiscovery to use the BeanManagerProvider.afterBeanDiscovery - event which we don't actually use ;)beanManager - the BeanManager we store and make available.public javax.enterprise.inject.spi.BeanManager getBeanManager()
BeanManager for the current application (current ClassLoader). This method will throw
 an IllegalStateException if the BeanManager cannot be found.nullIllegalStateException - if the BeanManager cannot be foundpublic void cleanupFinalBeanManagers(@Observes
                                     javax.enterprise.inject.spi.AfterDeploymentValidation adv)
public void cleanupStoredBeanManagerOnShutdown(@Observes
                                               javax.enterprise.inject.spi.BeforeShutdown beforeShutdown)
beforeShutdown - CDI shutdown eventCopyright © 2017 The Apache Software Foundation. All rights reserved.