/** * Returns an instance of a class implementing com.arjuna.ats.arjuna.utils.Process. * * If there is no pre-instantiated instance set and classloading or instantiation fails, * this method will log an appropriate warning and return null, not throw an exception. * * @return a Process implementation instance, or null. */ public Process getProcessImplementation() { if(processImplementation == null && processImplementationClassName != null) { synchronized(this) { if(processImplementation == null && processImplementationClassName != null) { try { processImplementation = ClassloadingUtility.loadAndInstantiateClass(Process.class, processImplementationClassName, null); } catch (final java.lang.NoClassDefFoundError ex) { if (Utility.isAndroid()) // todo android return new AndroidProcessId(); else throw ex; } } } } return processImplementation; }
/** * Returns an instance of a class implementing com.arjuna.ats.arjuna.utils.Process. * * If there is no pre-instantiated instance set and classloading or instantiation fails, * this method will log an appropriate warning and return null, not throw an exception. * * @return a Process implementation instance, or null. */ public Process getProcessImplementation() { if(processImplementation == null && processImplementationClassName != null) { synchronized(this) { if(processImplementation == null && processImplementationClassName != null) { try { processImplementation = ClassloadingUtility.loadAndInstantiateClass(Process.class, processImplementationClassName, null); } catch (final java.lang.NoClassDefFoundError ex) { if (Utility.isAndroid()) // todo android return new AndroidProcessId(); else throw ex; } } } } return processImplementation; }
/** * Returns an instance of a class implementing com.arjuna.ats.arjuna.utils.Process. * * If there is no pre-instantiated instance set and classloading or instantiation fails, * this method will log an appropriate warning and return null, not throw an exception. * * @return a Process implementation instance, or null. */ public Process getProcessImplementation() { if(processImplementation == null && processImplementationClassName != null) { synchronized(this) { if(processImplementation == null && processImplementationClassName != null) { try { processImplementation = ClassloadingUtility.loadAndInstantiateClass(Process.class, processImplementationClassName, null); } catch (final java.lang.NoClassDefFoundError ex) { if (Utility.isAndroid()) // todo android return new AndroidProcessId(); else throw ex; } } } } return processImplementation; }