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
}
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;
}
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);
}
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;
}
Aggregations