org.apache.deltaspike.cdise.api.ContextControl Java Examples
The following examples show how to use
org.apache.deltaspike.cdise.api.ContextControl.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SimpleSchedulerExample.java From deltaspike with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws InterruptedException { CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer(); cdiContainer.boot(); ContextControl contextControl = cdiContainer.getContextControl(); contextControl.startContext(ApplicationScoped.class); GlobalResultHolder globalResultHolder = BeanProvider.getContextualReference(GlobalResultHolder.class); while (globalResultHolder.getCount() < 100) { Thread.sleep(500); LOG.info("current count: " + globalResultHolder.getCount()); } LOG.info("completed!"); contextControl.stopContext(ApplicationScoped.class); cdiContainer.shutdown(); }
Example #2
Source File: ConfigExample.java From deltaspike with Apache License 2.0 | 6 votes |
public static void main(String[] args) { CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer(); cdiContainer.boot(); ContextControl contextControl = cdiContainer.getContextControl(); contextControl.startContext(ApplicationScoped.class); SettingsBean settingsBean = BeanProvider.getContextualReference(SettingsBean.class, false); LOG.info("configured int-value #1: " + settingsBean.getIntProperty1()); LOG.info("configured long-value #2: " + settingsBean.getProperty2()); LOG.info("configured inverse-value #2: " + settingsBean.getInverseProperty()); LOG.info("configured location (custom config): " + settingsBean.getLocationId().name()); cdiContainer.shutdown(); }
Example #3
Source File: HAAbstractUnitTest.java From HotswapAgent with GNU General Public License v2.0 | 5 votes |
protected void startContainer() { CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer(); cdiContainer.boot(); ContextControl contextControl = cdiContainer.getContextControl(); contextControl.startContext(ApplicationScoped.class); contextControl.startContext(SessionScoped.class); contextControl.startContext(RequestScoped.class); }
Example #4
Source File: AbstractQuartzScheduler.java From deltaspike with Apache License 2.0 | 5 votes |
public void startContexts(Scheduled scheduled) { Collections.addAll(this.scopes, scheduled.startScopes()); if (!this.scopes.isEmpty()) { this.contextControl = BeanProvider.getDependent(ContextControl.class); for (Class<? extends Annotation> scopeAnnotation : this.scopes) { contextControl.get().startContext(scopeAnnotation); } } }
Example #5
Source File: ArchiveUtils.java From deltaspike with Apache License 2.0 | 5 votes |
public static JavaArchive getContextControlForDeployment() { JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "cdi-control.jar") .addClass(ContextControl.class); if (CdiContainerUnderTest.is("owb")) { jar.addPackage("org.apache.deltaspike.cdise.owb"); } return jar; }
Example #6
Source File: CdiServletRequestListener.java From deltaspike with Apache License 2.0 | 5 votes |
@Override public void requestDestroyed(ServletRequestEvent servletRequestEvent) { LOG.log(Level.FINER,"Request done."); ContextControl contextControl = (ContextControl)servletRequestEvent.getServletRequest() .getAttribute(CDI_REQ_CONTEXT); contextControl.stopContext(RequestScoped.class); }
Example #7
Source File: CdiServletRequestListener.java From deltaspike with Apache License 2.0 | 5 votes |
@Override public void requestInitialized(ServletRequestEvent servletRequestEvent) { LOG.log(Level.FINER,"Incoming request."); ContextControl contextControl = getContextControl(); servletRequestEvent.getServletRequest().setAttribute(CDI_REQ_CONTEXT, contextControl); contextControl.startContext(RequestScoped.class); }
Example #8
Source File: CdiCucumberTestRunner.java From database-rider with Apache License 2.0 | 4 votes |
private void startScopes(CdiContainer container, Class testClass, Method testMethod, Class<? extends Annotation>... restrictedScopes) { ContextControl contextControl = container.getContextControl(); List<Class<? extends Annotation>> scopeClasses = new ArrayList<Class<? extends Annotation>>(); Collections.addAll(scopeClasses, this.testControl.startScopes()); if (scopeClasses.isEmpty()) { addScopesForDefaultBehavior(scopeClasses); } else { List<TestControlValidator> testControlValidatorList = ServiceUtils.loadServiceImplementations(TestControlValidator.class); for (TestControlValidator testControlValidator : testControlValidatorList) { if (testControlValidator instanceof TestAware) { if (testMethod != null) { ((TestAware) testControlValidator).setTestMethod(testMethod); } ((TestAware) testControlValidator).setTestClass(testClass); } try { testControlValidator.validate(this.testControl); } finally { if (testControlValidator instanceof TestAware) { ((TestAware) testControlValidator).setTestClass(null); ((TestAware) testControlValidator).setTestMethod(null); } } } } for (Class<? extends Annotation> scopeAnnotation : scopeClasses) { if (this.parent != null && this.parent.isScopeStarted(scopeAnnotation)) { continue; } if (isRestrictedScope(scopeAnnotation, restrictedScopes)) { continue; } try { //force a clean context - TODO discuss onScopeStopped call contextControl.stopContext(scopeAnnotation); contextControl.startContext(scopeAnnotation); this.startedScopes.add(scopeAnnotation); onScopeStarted(scopeAnnotation); } catch (RuntimeException e) { Logger logger = Logger.getLogger(CdiCucumberTestRunner.class.getName()); logger.setLevel(Level.SEVERE); logger.log(Level.SEVERE, "failed to start scope @" + scopeAnnotation.getName(), e); } } }
Example #9
Source File: CdiTestRunner.java From deltaspike with Apache License 2.0 | 4 votes |
private void startScopes(CdiContainer container, Class testClass, Method testMethod, Class<? extends Annotation>... restrictedScopes) { try { automaticScopeHandlingActive.set(TRUE); ContextControl contextControl = container.getContextControl(); List<Class<? extends Annotation>> scopeClasses = new ArrayList<Class<? extends Annotation>>(); Collections.addAll(scopeClasses, this.testControl.startScopes()); if (scopeClasses.isEmpty()) { addScopesForDefaultBehavior(scopeClasses); } else { List<TestControlValidator> testControlValidatorList = ServiceUtils.loadServiceImplementations(TestControlValidator.class); for (TestControlValidator testControlValidator : testControlValidatorList) { if (testControlValidator instanceof TestAware) { if (testMethod != null) { ((TestAware)testControlValidator).setTestMethod(testMethod); } ((TestAware)testControlValidator).setTestClass(testClass); } try { testControlValidator.validate(this.testControl); } finally { if (testControlValidator instanceof TestAware) { ((TestAware)testControlValidator).setTestClass(null); ((TestAware)testControlValidator).setTestMethod(null); } } } } for (Class<? extends Annotation> scopeAnnotation : scopeClasses) { if (this.parent != null && this.parent.isScopeStarted(scopeAnnotation)) { continue; } if (isRestrictedScope(scopeAnnotation, restrictedScopes)) { continue; } try { //force a clean context - TODO discuss onScopeStopped call contextControl.stopContext(scopeAnnotation); contextControl.startContext(scopeAnnotation); this.startedScopes.add(scopeAnnotation); onScopeStarted(scopeAnnotation); } catch (RuntimeException e) { Logger logger = Logger.getLogger(CdiTestRunner.class.getName()); logger.setLevel(Level.SEVERE); logger.log(Level.SEVERE, "failed to start scope @" + scopeAnnotation.getName(), e); } } } finally { automaticScopeHandlingActive.set(null); automaticScopeHandlingActive.remove(); } }
Example #10
Source File: CdiServletRequestListener.java From deltaspike with Apache License 2.0 | 4 votes |
private ContextControl getContextControl() { CdiContainer container = CdiContainerLoader.getCdiContainer(); return container.getContextControl(); }
Example #11
Source File: ContainerCtrlTckTest.java From deltaspike with Apache License 2.0 | 4 votes |
@Test public void testParallelThreadExecution() throws Exception { final CdiContainer cc = CdiContainerLoader.getCdiContainer(); Assert.assertNotNull(cc); cc.boot(); cc.getContextControl().startContexts(); final BeanManager bm = cc.getBeanManager(); Assert.assertNotNull(bm); final AtomicInteger numErrors = new AtomicInteger(0); final ContextControl contextControl = cc.getContextControl(); Runnable runnable = new Runnable() { @Override public void run() { try { contextControl.startContext(SessionScoped.class); contextControl.startContext(RequestScoped.class); Set<Bean<?>> beans = bm.getBeans(CarRepair.class); Bean<?> bean = bm.resolve(beans); CarRepair carRepair = (CarRepair) bm.getReference(bean, CarRepair.class, bm.createCreationalContext(bean)); Assert.assertNotNull(carRepair); for (int i = 0; i < 100000; i++) { // we need the threads doing something ;) Assert.assertNotNull(carRepair.getCar()); Assert.assertNotNull(carRepair.getCar().getUser()); Assert.assertNull(carRepair.getCar().getUser().getName()); } contextControl.stopContext(RequestScoped.class); contextControl.stopContext(SessionScoped.class); } catch (Throwable e) { log.log(Level.SEVERE, "An exception happened on a new worker thread", e); numErrors.incrementAndGet(); } } }; Thread[] threads = new Thread[NUM_THREADS]; for (int i = 0 ; i < NUM_THREADS; i++) { threads[i] = new Thread(runnable); } for (int i = 0 ; i < NUM_THREADS; i++) { threads[i].start(); } for (int i = 0 ; i < NUM_THREADS; i++) { threads[i].join(); } Assert.assertEquals("An error happened while executing parallel threads", 0, numErrors.get()); cc.shutdown(); }
Example #12
Source File: SingletonRulesJUnitTest.java From drools-workshop with Apache License 2.0 | 2 votes |
@Test @InSequence(0) @Ignore public void helloRequestScoped() { Assert.assertNotNull(myRequestBean); ContextControl ctxCtrl = BeanProvider.getContextualReference(ContextControl.class); ctxCtrl.startContext(RequestScoped.class); int myBeanHashcode = myRequestBean.getMyBean().hashCode(); int myKieSessionHashcode = myRequestBean.getkSession().hashCode(); int result = myRequestBean.doSomething("hello 0"); Assert.assertEquals(1, result); ctxCtrl.stopContext(RequestScoped.class); ctxCtrl.startContext(RequestScoped.class); Assert.assertNotEquals(myBeanHashcode, myRequestBean.getMyBean().hashCode()); Assert.assertNotEquals(myKieSessionHashcode, myRequestBean.getkSession().hashCode()); myBeanHashcode = myRequestBean.getMyBean().hashCode(); myKieSessionHashcode = myRequestBean.getkSession().hashCode(); result = myRequestBean.doSomething("hello 1"); Assert.assertEquals(1, result); ctxCtrl.stopContext(RequestScoped.class); ctxCtrl.startContext(RequestScoped.class); Assert.assertNotEquals(myBeanHashcode, myRequestBean.getMyBean().hashCode()); Assert.assertNotEquals(myKieSessionHashcode, myRequestBean.getkSession().hashCode()); myBeanHashcode = myRequestBean.getMyBean().hashCode(); myKieSessionHashcode = myRequestBean.getkSession().hashCode(); result = myRequestBean.doSomething("hello 2"); Assert.assertEquals(1, result); myBeanHashcode = myRequestBean.getMyBean().hashCode(); myKieSessionHashcode = myRequestBean.getkSession().hashCode(); ctxCtrl.stopContext(RequestScoped.class); ctxCtrl.startContext(RequestScoped.class); Assert.assertNotEquals(myBeanHashcode, myRequestBean.getMyBean().hashCode()); Assert.assertNotEquals(myKieSessionHashcode, myRequestBean.getkSession().hashCode()); }