Search in sources :

Example 1 with ManagedThreadFactoryService

use of org.jboss.as.ee.concurrent.service.ManagedThreadFactoryService in project wildfly by wildfly.

the class ManagedThreadFactoryAdd method performRuntime.

@Override
protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException {
    final String name = PathAddress.pathAddress(operation.get(ModelDescriptionConstants.ADDRESS)).getLastElement().getValue();
    final String jndiName = ManagedExecutorServiceResourceDefinition.JNDI_NAME_AD.resolveModelAttribute(context, model).asString();
    final int priority = ManagedThreadFactoryResourceDefinition.PRIORITY_AD.resolveModelAttribute(context, model).asInt();
    final ManagedThreadFactoryService service = new ManagedThreadFactoryService(name, jndiName, priority);
    final ServiceBuilder<ManagedThreadFactoryImpl> serviceBuilder = context.getServiceTarget().addService(ConcurrentServiceNames.getManagedThreadFactoryServiceName(name), service);
    String contextService = null;
    if (model.hasDefined(ManagedThreadFactoryResourceDefinition.CONTEXT_SERVICE)) {
        contextService = ManagedThreadFactoryResourceDefinition.CONTEXT_SERVICE_AD.resolveModelAttribute(context, model).asString();
    }
    if (contextService != null) {
        serviceBuilder.addDependency(ConcurrentServiceNames.getContextServiceServiceName(contextService), ContextServiceImpl.class, service.getContextServiceInjector());
    }
    serviceBuilder.install();
}
Also used : ManagedThreadFactoryImpl(org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl) ManagedThreadFactoryService(org.jboss.as.ee.concurrent.service.ManagedThreadFactoryService)

Aggregations

ManagedThreadFactoryImpl (org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl)1 ManagedThreadFactoryService (org.jboss.as.ee.concurrent.service.ManagedThreadFactoryService)1