You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Sean Flanigan (JIRA)" <ji...@apache.org> on 2016/08/23 02:42:20 UTC

[jira] [Commented] (DELTASPIKE-1198) BeanManagerProvider.isActive() returns true after container shutdown

    [ https://issues.apache.org/jira/browse/DELTASPIKE-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15432019#comment-15432019 ] 

Sean Flanigan commented on DELTASPIKE-1198:
-------------------------------------------

FWIW, I was able to reconstruct the stack trace in the debugger:

{noformat}
java.lang.IllegalStateException: Singleton not set for STATIC_INSTANCE => []
	at org.jboss.weld.bootstrap.api.helpers.RegistrySingletonProvider$RegistrySingleton.get(RegistrySingletonProvider.java:28)
	at org.jboss.weld.Container.instance(Container.java:65)
	at org.jboss.weld.Container.instance(Container.java:69)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.checkContainerState(BeanManagerProxy.java:234)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.checkContainerState(BeanManagerProxy.java:247)
	at org.jboss.weld.bean.builtin.BeanManagerProxy.getBeans(BeanManagerProxy.java:96)
	at org.apache.deltaspike.core.api.provider.BeanProvider.getContextualReference(BeanProvider.java:144)
	at org.apache.deltaspike.core.api.provider.BeanProvider.getContextualReference(BeanProvider.java:121)
	at org.apache.deltaspike.beanvalidation.impl.CDIAwareConstraintValidatorFactory.getInstance(CDIAwareConstraintValidatorFactory.java:61)
	at org.zanata.test.TestingConstraintValidatorFactory.getInstance(TestingConstraintValidatorFactory.java:54)
	...
{noformat}

(Weld SE 2.3.2.Final, DeltaSpike 1.7.0)

NB: TestingConstraintValidatorFactory simply checks BeanManagerProvider.isActive() before calling CDIAwareConstraintValidatorFactory.getInstance().

> BeanManagerProvider.isActive() returns true after container shutdown
> --------------------------------------------------------------------
>
>                 Key: DELTASPIKE-1198
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1198
>             Project: DeltaSpike
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.7.0, 1.7.2
>            Reporter: Sean Flanigan
>
> While trying to implement DELTASPIKE-1197 I found that {{BeanManagerProvider.isActive()}} returns true after container shutdown.
> The javadocs for {{isActive()}} say "@return true if the BeanManagerProvider is ready to be used", but when it is in this state, the BeanManagerProvider can't actually be used because the CDI container is not active. 
> In the case of Weld, when {{BeanProvider.getContextualReference()}} was called I got errors like "java.lang.IllegalStateException: Singleton not set for STATIC_INSTANCE => []". There was no stack trace, but that message comes from Weld's RegistrySingletonProvider.java.
> It would seem reasonable to reset bmpSingleton to null during cleanupStoredBeanManagerOnShutdown, but for some reason this breaks a lot of tests.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)