[ https://issues.apache.org/jira/browse/DELTASPIKE-1198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15432053#comment-15432053 ]
Sean Flanigan commented on DELTASPIKE-1198: ------------------------------------------- Hi John, what are you saying a feature of bean val 1.1? Are you talking about CDIAwareConstraintValidatorFactory or BeanManagerProvider? Has CDIAwareConstraintValidatorFactory been replaced by something else? My use case: I have a monolithic application, with a mixture of unit tests based on CDI-Unit (which uses Weld SE) and plain non-CDI JUnit tests. At runtime, the code is deployed to EAP 7 or WildFly 10, but I'm not having a problem there, nor in my Arquillian integration tests, because there I just use CDIAwareConstraintValidatorFactory in a Weld/CDI environment. I'm actually in the process of migrating to EAP 7 from 6. If META-INF/validation.xml points to CDIAwareConstraintValidatorFactory, my CDI tests work, but some of my non-CDI tests fail, because Hibernate loads CDIAwareConstraintValidatorFactory and it tries to initialise BeanManagerProvider. If META-INF/validation.xml is missing, my non-CDI tests are okay (they don't use any validators which require CDI), but some of my CDI tests fail because the CDI validators don't have their CDI injections. If META-INF/validation.xml points to org.zanata.test.TestingConstraintValidatorFactory, which only uses CDIAwareConstraintValidatorFactory if isActive() is true, that would work in all cases, except for this problem with BeanManagerProvider.isActive(). > 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)