private void populateModelWithCoordinatorEnvConfig(ModelNode operation, ModelNode coordEnvModel) throws OperationFailedException { TransactionSubsystemRootResourceDefinition.STATISTICS_ENABLED.validateAndSet( operation, coordEnvModel); TransactionSubsystemRootResourceDefinition.ENABLE_STATISTICS.validateAndSet( operation, coordEnvModel); TransactionSubsystemRootResourceDefinition.ENABLE_TSM_STATUS.validateAndSet( operation, coordEnvModel); TransactionSubsystemRootResourceDefinition.DEFAULT_TIMEOUT.validateAndSet( operation, coordEnvModel); ModelNode mceVal = coordEnvModel.get(TransactionSubsystemRootResourceDefinition.ENABLE_STATISTICS.getName()); if (mceVal.isDefined()) { ModelNode seVal = coordEnvModel.get( TransactionSubsystemRootResourceDefinition.STATISTICS_ENABLED.getName()); if (seVal.isDefined() && !seVal.equals(mceVal)) { throw TransactionLogger.ROOT_LOGGER.inconsistentStatisticsSettings( TransactionSubsystemRootResourceDefinition.STATISTICS_ENABLED.getName(), TransactionSubsystemRootResourceDefinition.ENABLE_STATISTICS.getName()); } seVal.set(mceVal); mceVal.set(new ModelNode()); } }
private void performCoordinatorEnvBoottime( OperationContext context, ModelNode coordEnvModel, final boolean jts) throws OperationFailedException { final boolean coordinatorEnableStatistics = TransactionSubsystemRootResourceDefinition.STATISTICS_ENABLED .resolveModelAttribute(context, coordEnvModel) .asBoolean(); final boolean transactionStatusManagerEnable = TransactionSubsystemRootResourceDefinition.ENABLE_TSM_STATUS .resolveModelAttribute(context, coordEnvModel) .asBoolean(); final int coordinatorDefaultTimeout = TransactionSubsystemRootResourceDefinition.DEFAULT_TIMEOUT .resolveModelAttribute(context, coordEnvModel) .asInt(); final String nodeIdentifier = TransactionSubsystemRootResourceDefinition.NODE_IDENTIFIER .resolveModelAttribute(context, coordEnvModel) .asString(); // install JTA environment bean service final JTAEnvironmentBeanService jtaEnvironmentBeanService = new JTAEnvironmentBeanService(nodeIdentifier); context .getServiceTarget() .addService(TxnServices.JBOSS_TXN_JTA_ENVIRONMENT, jtaEnvironmentBeanService) .setInitialMode(Mode.ACTIVE) .install(); final ArjunaTransactionManagerService transactionManagerService = new ArjunaTransactionManagerService( coordinatorEnableStatistics, coordinatorDefaultTimeout, transactionStatusManagerEnable, jts); final ServiceBuilder<com.arjuna.ats.jbossatx.jta.TransactionManagerService> transactionManagerServiceServiceBuilder = context .getServiceTarget() .addService( TxnServices.JBOSS_TXN_ARJUNA_TRANSACTION_MANAGER, transactionManagerService); // add dependency on JTA environment bean service transactionManagerServiceServiceBuilder.addDependency( TxnServices.JBOSS_TXN_JTA_ENVIRONMENT, JTAEnvironmentBean.class, transactionManagerService.getJTAEnvironmentBeanInjector()); // if jts is enabled we need the ORB if (jts) { transactionManagerServiceServiceBuilder.addDependency( ServiceName.JBOSS.append("iiop-openjdk", "orb-service"), ORB.class, transactionManagerService.getOrbInjector()); transactionManagerServiceServiceBuilder.addDependency(CorbaNamingService.SERVICE_NAME); } transactionManagerServiceServiceBuilder .addDependency( TxnServices.JBOSS_TXN_XA_TERMINATOR, JBossXATerminator.class, transactionManagerService.getXaTerminatorInjector()) .addDependency( TxnServices.JBOSS_TXN_USER_TRANSACTION_REGISTRY, UserTransactionRegistry.class, transactionManagerService.getUserTransactionRegistry()) .addDependency(TxnServices.JBOSS_TXN_CORE_ENVIRONMENT) .addDependency(TxnServices.JBOSS_TXN_ARJUNA_OBJECTSTORE_ENVIRONMENT) .addDependency(TxnServices.JBOSS_TXN_ARJUNA_RECOVERY_MANAGER) .setInitialMode(ServiceController.Mode.ACTIVE) .install(); }