Author: cpopetz
Date: 2009-04-16 10:27:01 -0400 (Thu, 16 Apr 2009)
New Revision: 2432
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/NonContextualInjector.java
Log:
Don't deactivate the app context if it was active on entry, as it doesn't protect
itself from
reentrant calls like the dependent scope does.
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/NonContextualInjector.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/NonContextualInjector.java 2009-04-16
12:33:10 UTC (rev 2431)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/NonContextualInjector.java 2009-04-16
14:27:01 UTC (rev 2432)
@@ -98,7 +98,11 @@
if (DependentContext.instance() != null && ApplicationContext.instance() !=
null)
{
DependentContext.instance().setActive(true);
- ApplicationContext.instance().setActive(true);
+ boolean startApplication = !ApplicationContext.instance().isActive();
+ if (startApplication)
+ {
+ ApplicationContext.instance().setActive(true);
+ }
Set<FieldInjectionPoint<?>> injectionPoints =
instances.putIfAbsent(instance.getClass(), new
Callable<Set<FieldInjectionPoint<?>>>()
{
@@ -114,7 +118,10 @@
injectionPoint.inject(instance, manager, null);
}
DependentContext.instance().setActive(false);
- ApplicationContext.instance().setActive(false);
+ if (startApplication)
+ {
+ ApplicationContext.instance().setActive(false);
+ }
}
}