use of org.apache.deltaspike.example.optional.OptionalService 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
}
Aggregations