use of org.jboss.jca.core.api.bootstrap.CloneableBootstrapContext in project wildfly by wildfly.
the class BootstrapContextAdd method performRuntime.
@Override
protected void performRuntime(final OperationContext context, final ModelNode operation, final ModelNode model) throws OperationFailedException {
String name = JcaBootstrapContextDefinition.BootstrapCtxParameters.NAME.getAttribute().resolveModelAttribute(context, model).asString();
String workmanager = JcaBootstrapContextDefinition.BootstrapCtxParameters.WORKMANAGER.getAttribute().resolveModelAttribute(context, model).asString();
boolean usingDefaultWm = false;
CloneableBootstrapContext ctx;
if (DEFAULT_NAME.equals(workmanager)) {
usingDefaultWm = true;
ctx = new NamedBootstrapContext(name);
} else {
ctx = new NamedBootstrapContext(name, workmanager);
}
ServiceTarget serviceTarget = context.getServiceTarget();
final BootStrapContextService bootCtxService = new BootStrapContextService(ctx, name, usingDefaultWm);
serviceTarget.addService(ConnectorServices.BOOTSTRAP_CONTEXT_SERVICE.append(name), bootCtxService).addDependency(ConnectorServices.WORKMANAGER_SERVICE.append(workmanager), WorkManager.class, bootCtxService.getWorkManagerValueInjector()).addDependency(TxnServices.JBOSS_TXN_CONTEXT_XA_TERMINATOR, JBossContextXATerminator.class, bootCtxService.getXaTerminatorInjector()).addDependency(TxnServices.JBOSS_TXN_ARJUNA_TRANSACTION_MANAGER, com.arjuna.ats.jbossatx.jta.TransactionManagerService.class, bootCtxService.getTxManagerInjector()).addDependency(ConnectorServices.CONNECTOR_CONFIG_SERVICE, JcaSubsystemConfiguration.class, bootCtxService.getJcaConfigInjector()).setInitialMode(ServiceController.Mode.ACTIVE).install();
}
Aggregations