Search in sources :

Example 1 with TransactionServices

use of org.jboss.weld.transaction.spi.TransactionServices in project wildfly by wildfly.

the class WeldBootstrapService method start.

/**
     * Starts the weld container
     *
     * @throws IllegalStateException if the container is already running
     */
public synchronized void start(final StartContext context) {
    if (started) {
        throw WeldLogger.ROOT_LOGGER.alreadyRunning("WeldContainer");
    }
    started = true;
    WeldLogger.DEPLOYMENT_LOGGER.startingWeldService(deploymentName);
    // set up injected services
    addWeldService(SecurityServices.class, securityServices.getValue());
    TransactionServices transactionServices = weldTransactionServices.getOptionalValue();
    if (transactionServices != null) {
        addWeldService(TransactionServices.class, transactionServices);
    }
    if (!deployment.getServices().contains(ExecutorServices.class)) {
        addWeldService(ExecutorServices.class, executorServices.getValue());
    }
    ModuleGroupSingletonProvider.addClassLoaders(deployment.getModule().getClassLoader(), deployment.getSubDeploymentClassLoaders());
    ClassLoader oldTccl = WildFlySecurityManager.getCurrentContextClassLoaderPrivileged();
    try {
        WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(deployment.getModule().getClassLoader());
        bootstrap.startContainer(deploymentName, environment, deployment);
        WeldProvider.containerInitialized(Container.instance(deploymentName), getBeanManager(), deployment);
    } finally {
        WildFlySecurityManager.setCurrentContextClassLoaderPrivileged(oldTccl);
    }
}
Also used : TransactionServices(org.jboss.weld.transaction.spi.TransactionServices) ExecutorServices(org.jboss.weld.manager.api.ExecutorServices)

Aggregations

ExecutorServices (org.jboss.weld.manager.api.ExecutorServices)1 TransactionServices (org.jboss.weld.transaction.spi.TransactionServices)1