use of com.arjuna.orbportability.common.OrbPortabilityEnvironmentBean in project narayana by jbosstm.
the class TransactionManagerService method start.
/**
* @param theCorbaORB an orb that the TM should use for JTS operations. The caller is responsible for
* shutting down and destroying this orb
* @throws Exception
*/
public void start(org.omg.CORBA.ORB theCorbaORB) throws Exception {
jbossatxLogger.i18NLogger.info_jts_TransactionManagerService_start();
// Create an ORB portability wrapper around the CORBA ORB services orb
ORB orb = ORB.getInstance(ORB_NAME);
org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper.narrow(theCorbaORB.resolve_initial_references("RootPOA"));
orb.setOrb(theCorbaORB);
OA oa = OA.getRootOA(orb);
oa.setPOA(rootPOA);
try {
// OTSManager won't play nice unless we explicity bootstrap the portability layer:
ORBManager.setORB(orb);
ORBManager.setPOA(oa);
OrbPortabilityEnvironmentBean env = BeanPopulator.getDefaultInstance(OrbPortabilityEnvironmentBean.class);
env.setShutdownWrappedOrb(false);
org.omg.CosTransactions.TransactionFactory factory = com.arjuna.ats.jts.OTSManager.get_factory();
final int resolver = Services.getResolver();
com.arjuna.ats.jts.TransactionServer.registerTransactionManager(resolver, orb, factory);
} catch (final Exception ex) {
throw new Exception(jbossatxLogger.i18NLogger.get_jts_TransactionManagerService_failed(), ex);
}
}
use of com.arjuna.orbportability.common.OrbPortabilityEnvironmentBean in project narayana by jbosstm.
the class ORBBase method shutdown.
public synchronized void shutdown(boolean waitForCompletion) throws SystemException {
if (_init) {
OrbPortabilityEnvironmentBean env = BeanPopulator.getDefaultInstance(OrbPortabilityEnvironmentBean.class);
if (env.isShutdownWrappedOrb()) {
_orb.shutdown(waitForCompletion);
_init = false;
}
}
}
Aggregations