diff --git a/org.adempiere.base/src/org/compiere/util/Trx.java b/org.adempiere.base/src/org/compiere/util/Trx.java index 573d4f5354..74eb4f2d9d 100644 --- a/org.adempiere.base/src/org/compiere/util/Trx.java +++ b/org.adempiere.base/src/org/compiere/util/Trx.java @@ -81,6 +81,27 @@ public class Trx return retValue; } // get + /** + * Get Transaction in a Connection + * @param trxName trx name + * @param createNew if false, null is returned if not found + * @param con Connection + * @return Transaction or null + */ + public static Trx get (String trxName, boolean createNew, Connection con) + { + if (trxName == null || trxName.length() == 0) + throw new IllegalArgumentException ("No Transaction Name"); + + Trx retValue = (Trx)s_cache.get(trxName); + if (retValue == null && createNew) + { + retValue = new Trx (trxName, con); + s_cache.put(trxName, retValue); + } + return retValue; + } // get + /** Transaction Cache */ private static final Map s_cache = new ConcurrentHashMap();