public static void init(Bundle owbBundle) { bundle = owbBundle; WebBeansFinder.setSingletonService(INSTANCE); }
@Override protected void afterStopApplication(Object stopObject) { WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader()); } }
@Override protected SeContainer newContainer(WebBeansContext context) { SingletonService<WebBeansContext> singletonService = WebBeansFinder.getSingletonService(); if(singletonService instanceof HolderSingletonService) { ((HolderSingletonService) singletonService).register(context); } else { try { WebBeansFinder.setSingletonService(new HolderSingletonService(context)); } catch (Exception e) { logger.info("Unable to override OWB SingletonService", e); } } return super.newContainer(context); } }
public static ClassLoader getUsableContainerLoader() { ClassLoader currentCL = Thread.currentThread().getContextClassLoader(); if (currentCL == null) { currentCL = ClassLoaderLock.class.getClassLoader(); } if (Boolean.getBoolean("meecrowave.junit.classloaderlock.off")) { // safeguard for advanced cases return currentCL; } final SingletonService<WebBeansContext> singletonService = WebBeansFinder.getSingletonService(); synchronized (singletonService) { try { if (singletonService instanceof DefaultSingletonService) { synchronized (singletonService) { ((DefaultSingletonService) singletonService).register(currentCL, null); // all fine, it seems we do not have an OWB container for this ClassLoader yet // let's reset it then ; singletonService.clear(currentCL); } return currentCL; } } catch (IllegalArgumentException iae) { // whoops there is already an OWB container registered for this very ClassLoader } return new ClassLoader(currentCL) {}; } }
public static WebBeansContext getInstance() { WebBeansContext webBeansContext = WebBeansFinder.getSingletonInstance(); return webBeansContext; }
public static ClassLoader getUsableContainerLoader() { ClassLoader currentCL = Thread.currentThread().getContextClassLoader(); if (currentCL == null) { currentCL = ClassLoaderLock.class.getClassLoader(); } if (Boolean.getBoolean("meecrowave.junit.classloaderlock.off")) { // safeguard for advanced cases return currentCL; } final SingletonService<WebBeansContext> singletonService = WebBeansFinder.getSingletonService(); synchronized (singletonService) { try { if (singletonService instanceof DefaultSingletonService) { synchronized (singletonService) { ((DefaultSingletonService) singletonService).register(currentCL, null); // all fine, it seems we do not have an OWB container for this ClassLoader yet // let's reset it then ; singletonService.clear(currentCL); } return currentCL; } } catch (IllegalArgumentException iae) { // whoops there is already an OWB container registered for this very ClassLoader } return new ClassLoader(currentCL) {}; } }
@Override public void setup(OwbStandaloneConfiguration owbStandaloneConfiguration) { LOG.fine("OpenWebBeans Arquillian setup started"); singletonService = new OwbArquillianSingletonService(owbStandaloneConfiguration.properties()); WebBeansFinder.setSingletonService(singletonService); useOnlyArchiveResources = owbStandaloneConfiguration.isUseOnlyArchiveResources(); if (useOnlyArchiveResources && owbStandaloneConfiguration.getUseOnlyArchiveResourcesExcludes() != null) { useOnlyArchiveResourcesExcludes = Arrays.asList(owbStandaloneConfiguration.getUseOnlyArchiveResourcesExcludes().split(",")); } }
protected void afterStopApplication(final Object stopObject) throws Exception { //Clear the resource injection service final ResourceInjectionService injectionServices = webBeansContext.getService(ResourceInjectionService.class); if (injectionServices != null) { injectionServices.clear(); } //Comment out for commit OWB-502 //ContextFactory.cleanUpContextFactory(); CdiAppContextsService.class.cast(contextsService).removeThreadLocals(); WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader()); }
SingletonService<WebBeansContext> singletonInstance = WebBeansFinder.getSingletonService(); DefaultSingletonService.class.cast(singletonInstance).register(loader, context);
public static synchronized ThreadSingletonService initializeOWB() { logger.info("Created new singletonService " + SINGLETON_SERVICE); SystemInstance.get().setComponent(ThreadSingletonService.class, SINGLETON_SERVICE); try { WebBeansFinder.setSingletonService(SINGLETON_SERVICE); logger.info("Succeeded in installing singleton service"); } catch (final Exception e) { //ignore // not logging the exception since it is nto an error logger.debug("Could not install our singleton service"); } //TODO there must be a better place to initialize this ThreadContext.addThreadContextListener(new OWBContextThreadListener()); return SINGLETON_SERVICE; }
public void stop() throws OpenEJBException { final ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); try { // Setting context class loader for cleaning Thread.currentThread().setContextClassLoader(classLoader); // Fire shut down webBeansContext.getBeanManagerImpl().fireEvent(new BeforeShutdownImpl()); // Destroys context this.contexsServices.destroy(null); // Free all plugin resources webBeansContext.getPluginLoader().shutDown(); // Clear extensions webBeansContext.getExtensionLoader().clear(); // Delete Resolutions Cache webBeansContext.getBeanManagerImpl().getInjectionResolver().clearCaches(); // Delete AnnotateTypeCache webBeansContext.getAnnotatedElementFactory().clear(); // Clear the resource injection service final CdiResourceInjectionService injectionServices = (CdiResourceInjectionService) webBeansContext.getService(ResourceInjectionService.class); injectionServices.clear(); // Clear singleton list WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader()); } catch (final Exception e) { throw new OpenEJBException(e); } finally { Thread.currentThread().setContextClassLoader(oldCl); } }
public static synchronized ThreadSingletonService initializeOWB(final ClassLoader classLoader) { logger.info("Created new singletonService " + SINGLETON_SERVICE); SystemInstance.get().setComponent(ThreadSingletonService.class, SINGLETON_SERVICE); try { WebBeansFinder.setSingletonService(SINGLETON_SERVICE); logger.info("Succeeded in installing singleton service"); } catch (final Exception e) { //ignore // not logging the exception since it is nto an error logger.debug("Could not install our singleton service"); } //TODO there must be a better place to initialize this ThreadContext.addThreadContextListener(new OWBContextThreadListener()); return SINGLETON_SERVICE; }
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
public void stop() throws OpenEJBException { final ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); try { // Setting context class loader for cleaning Thread.currentThread().setContextClassLoader(classLoader); // Fire shut down webBeansContext.getBeanManagerImpl().fireEvent(new BeforeShutdownImpl()); // Destroys context webBeansContext.getContextsService().destroy(null); // Free all plugin resources webBeansContext.getPluginLoader().shutDown(); // Clear extensions webBeansContext.getExtensionLoader().clear(); // Delete Resolutions Cache webBeansContext.getBeanManagerImpl().getInjectionResolver().clearCaches(); // Delete AnnotateTypeCache webBeansContext.getAnnotatedElementFactory().clear(); // Clear the resource injection service final CdiResourceInjectionService injectionServices = (CdiResourceInjectionService) webBeansContext.getService(ResourceInjectionService.class); injectionServices.clear(); // Clear singleton list WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader()); } catch (final Exception e) { throw new OpenEJBException(e); } finally { Thread.currentThread().setContextClassLoader(oldCl); } }
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());
WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader()); WebBeansFinder.clearInstances(WebBeansUtil.getCurrentClassLoader());