RecoveryManagerService recoveryManagerService = new RecoveryManagerService();
try {
recoveryManagerService.create();
} catch (Exception e) {
throw new StartException("Recovery manager create failed", e);
}
recoveryManagerService.start();
try {
service.create();
} catch (Exception e) {
throw new StartException("Transaction manager create failed", e);
}
service.start();
this.recoveryManagerService = recoveryManagerService;
value = service;
} else {
// IIOP is enabled, so fire up JTS mode.
final com.arjuna.ats.jbossatx.jts.TransactionManagerService service = new com.arjuna.ats.jbossatx.jts.TransactionManagerService();
service.setJbossXATerminator(xaTerminatorInjector.getValue());
service.setTransactionSynchronizationRegistry(new com.arjuna.ats.internal.jta.transaction.jts.TransactionSynchronizationRegistryImple());
recoveryExtensions.add(TopLevelTransactionRecoveryModule.class.getName());
recoveryExtensions.add(ServerTransactionRecoveryModule.class.getName());
recoveryExtensions.add(com.arjuna.ats.internal.jta.recovery.jts.XARecoveryModule.class.getName());
expiryScanners.add(ExpiredContactScanner.class.getName());
expiryScanners.add(ExpiredToplevelScanner.class.getName());
expiryScanners.add(ExpiredServerScanner.class.getName());
recoveryEnvironmentBean.setRecoveryExtensions(recoveryExtensions);
recoveryEnvironmentBean.setExpiryScanners(expiryScanners);
recoveryEnvironmentBean.setRecoveryActivators(Collections.singletonList(com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement.class.getName()));
jtaEnvironmentBean.setTransactionManagerClassName(com.arjuna.ats.jbossatx.jts.TransactionManagerDelegate.class.getName());
jtaEnvironmentBean.setUserTransactionClassName(com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple.class.getName());
jtaEnvironmentBean.setTransactionSynchronizationRegistryClassName(com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple.class.getName());
objStoreBrowserTypes.put("StateManager/BasicAction/TwoPhaseCoordinator/ArjunaTransactionImple",
"com.arjuna.ats.arjuna.tools.osb.mbean.ActionBean");
RecoveryManagerService recoveryManagerService = null;
try {
recoveryManagerService = new com.arjuna.ats.jbossatx.jts.RecoveryManagerService(orb);
recoveryManagerService.create();
recoveryManagerService.start();
} catch (Exception e) {
throw new StartException("Recovery manager create failed", e);
}
try {
service.create();
} catch (Exception e) {
throw new StartException("Create failed", e);
}
try {
service.start(orb);
} catch (Exception e) {
throw new StartException("Start failed", e);
}
this.recoveryManagerService = recoveryManagerService;
value = service;
}
try {
objStoreBrowser.setTypes(objStoreBrowserTypes);
objStoreBrowser.start();
} catch (Exception e) {
throw new StartException("Failed to configure object store browser bean", e);
}
// todo: JNDI bindings
} finally {
AccessController.doPrivileged(CLEAR_ACTION);
}