/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Starting with 4.8, this method will always return an instance, will never return null. * This causes the reaper to be instantiated unnecessarily in some cases, but that's cheaper * than the alternatives. * * @return a TransactionReaper singleton. */ public static TransactionReaper transactionReaper() { if(_theReaper == null) { instantiate(); } return _theReaper; }
/** * Initialize and start Narayana JTA services. * <p> * During the setup node identifier, recovery modules, orphan filters, and expiry scanners are setup. Configuration file * will be used to get initial values. If one doesn't exist, following defaults will be used. * The settings from configuration file is transfered to {@link com.arjuna.ats.jta.common.JTAEnvironmentBean} where runtime * configuration resides. * <p> * <ul> * <li>Node identifier: "1" * <li>Recovery modules: {@link AtomicActionRecoveryModule}, {@link XARecoveryModule} * <li>Orphan filters: {@link JTATransactionLogXAResourceOrphanFilter}, {@link JTANodeNameXAResourceOrphanFilter} * <li>Expiry scanners: {@link ExpiredTransactionStatusManagerScanner} * </ul> * <p> * After setup recovery manager, transaction status manager, and transaction reaper are started. * * @param servletContextEvent containing the ServletContext that is being initialized */ @Override public void contextInitialized(ServletContextEvent servletContextEvent) { LOGGER.fine("Initializing Narayana"); initNodeIdentifier(); initRecoveryModules(); initOrphanFilters(); initExpiryScanners(); RecoveryManager.manager(); TxControl.enable(); TransactionReaper.instantiate(); }