Search in sources :

Example 6 with ContextControl

use of org.apache.deltaspike.cdise.api.ContextControl in project deltaspike by apache.

the class SimpleBeanLookupExample method main.

/**
     * Entry point
     *
     * @param args currently not used
     */
public static void main(String[] args) {
    CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
    cdiContainer.boot();
    ContextControl contextControl = cdiContainer.getContextControl();
    contextControl.startContext(ApplicationScoped.class);
    //containerControl.startContexts();
    //or:
    //cdiContainer.start();
    List<EchoService> echoServiceList = BeanProvider.getContextualReferences(EchoService.class, false);
    for (EchoService echoService : echoServiceList) {
        LOG.info(echoService.echo("Hello CDI bean!"));
    }
    LOG.info("---");
    echoServiceList = BeanProvider.getContextualReferences(EchoService.class, false, false);
    for (EchoService echoService : echoServiceList) {
        LOG.info(echoService.echo("Hello non dependent CDI scoped bean!"));
    }
    LOG.info("---");
    EchoService defaultEchoService = BeanProvider.getContextualReference(DefaultEchoService.class, false);
    LOG.info(defaultEchoService.echo("Hello explicitly resolved CDI bean!"));
    defaultEchoService = BeanProvider.getContextualReference("defaultEchoService", false, EchoService.class);
    LOG.info(defaultEchoService.echo("Hello CDI bean resolved by name!"));
    OptionalService optionalService = BeanProvider.getContextualReference(OptionalService.class, true);
    if (optionalService == null) {
        LOG.info("No (optional) implementation found for " + OptionalService.class.getName());
    } else {
        LOG.severe("Unexpected implementation found: " + optionalService.getClass().getName());
    }
    contextControl.stopContext(ApplicationScoped.class);
    cdiContainer.shutdown();
//or:
//containerControl.stopContexts();
//cdiContainer.shutdownContainer();
//cdiContainer.stopContext(ApplicationScoped.class); //doesn't work with weld right now - see WELD-1072
}
Also used : DefaultEchoService(org.apache.deltaspike.example.echo.DefaultEchoService) EchoService(org.apache.deltaspike.example.echo.EchoService) ContextControl(org.apache.deltaspike.cdise.api.ContextControl) OptionalService(org.apache.deltaspike.example.optional.OptionalService) CdiContainer(org.apache.deltaspike.cdise.api.CdiContainer)

Example 7 with ContextControl

use of org.apache.deltaspike.cdise.api.ContextControl in project deltaspike by apache.

the class WeldContainerControl method getContextControl.

@Override
public synchronized ContextControl getContextControl() {
    if (ctxCtrl == null) {
        BeanManager beanManager = getBeanManager();
        if (beanManager == null) {
            LOG.warning("If the CDI-container was started by the environment, you can't use this helper." + "Instead you can resolve ContextControl manually " + "(e.g. via BeanProvider.getContextualReference(ContextControl.class) ). " + "If the container wasn't started already, you have to use CdiContainer#boot before.");
            return null;
        }
        Set<Bean<?>> beans = beanManager.getBeans(ContextControl.class);
        ctxCtrlBean = (Bean<ContextControl>) beanManager.resolve(beans);
        ctxCtrlCreationalContext = getBeanManager().createCreationalContext(ctxCtrlBean);
        ctxCtrl = (ContextControl) getBeanManager().getReference(ctxCtrlBean, ContextControl.class, ctxCtrlCreationalContext);
    }
    return ctxCtrl;
}
Also used : ContextControl(org.apache.deltaspike.cdise.api.ContextControl) BeanManager(javax.enterprise.inject.spi.BeanManager) Bean(javax.enterprise.inject.spi.Bean)

Example 8 with ContextControl

use of org.apache.deltaspike.cdise.api.ContextControl in project deltaspike by apache.

the class CdiServletRequestListener method requestInitialized.

@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);
}
Also used : ContextControl(org.apache.deltaspike.cdise.api.ContextControl)

Example 9 with ContextControl

use of org.apache.deltaspike.cdise.api.ContextControl in project deltaspike by apache.

the class OpenEjbContainerControl method getContextControl.

@Override
public synchronized ContextControl getContextControl() {
    if (ctxCtrl == null) {
        BeanManager beanManager = getBeanManager();
        if (beanManager == null) {
            LOG.warning("If the CDI-container was started by the environment, you can't use this helper." + "Instead you can resolve ContextControl manually " + "(e.g. via BeanProvider.getContextualReference(ContextControl.class) ). " + "If the container wasn't started already, you have to use CdiContainer#boot before.");
            return null;
        }
        Set<Bean<?>> beans = beanManager.getBeans(ContextControl.class);
        ctxCtrlBean = (Bean<ContextControl>) beanManager.resolve(beans);
        ctxCtrlCreationalContext = getBeanManager().createCreationalContext(ctxCtrlBean);
        ctxCtrl = (ContextControl) getBeanManager().getReference(ctxCtrlBean, ContextControl.class, ctxCtrlCreationalContext);
    }
    return ctxCtrl;
}
Also used : ContextControl(org.apache.deltaspike.cdise.api.ContextControl) BeanManager(javax.enterprise.inject.spi.BeanManager) Bean(javax.enterprise.inject.spi.Bean)

Aggregations

ContextControl (org.apache.deltaspike.cdise.api.ContextControl)9 Bean (javax.enterprise.inject.spi.Bean)4 BeanManager (javax.enterprise.inject.spi.BeanManager)4 CdiContainer (org.apache.deltaspike.cdise.api.CdiContainer)4 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1 CarRepair (org.apache.deltaspike.cdise.tck.beans.CarRepair)1 DefaultEchoService (org.apache.deltaspike.example.echo.DefaultEchoService)1 EchoService (org.apache.deltaspike.example.echo.EchoService)1 OptionalService (org.apache.deltaspike.example.optional.OptionalService)1 Test (org.junit.Test)1