Search in sources :

Example 1 with OptionalService

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

Aggregations

CdiContainer (org.apache.deltaspike.cdise.api.CdiContainer)1 ContextControl (org.apache.deltaspike.cdise.api.ContextControl)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