bugfix: clean up effectiveInjectionManager and move cleanup into finally block
diff --git a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java index c29b370..642a83a 100644 --- a/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java +++ b/ext/cdi/jersey-cdi1x/src/main/java/org/glassfish/jersey/ext/cdi1x/internal/CdiComponentProvider.java
@@ -685,13 +685,16 @@ threadInjectionManagers.set(injectingManager); } - delegate.inject(t, cc); // here the injection manager is used in HK2Bean + try { + delegate.inject(t, cc); // here the injection manager is used in HK2Bean - if (injectingManager != null) { - injectingManager.inject(t, CdiComponentProvider.CDI_CLASS_ANALYZER); + if (injectingManager != null) { + injectingManager.inject(t, CdiComponentProvider.CDI_CLASS_ANALYZER); + } + } finally { + threadInjectionManagers.remove(); + effectiveInjectionManager.remove(); } - - threadInjectionManagers.remove(); } @Override