public void postInvoke(ComponentInvocation curr, ComponentInvocation prev) throws InvocationException { if ( curr != null && curr.getTransaction() != null ) delistComponentResources(curr, false); // delist with TMSUCCESS if ( prev != null && prev.getTransaction() != null && prev.isTransactionCompleting() == false) { // do not worry about re-enlisting previous invocation resources // if transaction is being completed enlistComponentResources(prev); } }
public void preInvoke(ComponentInvocation prev) throws InvocationException { if ( prev != null && prev.getTransaction() != null && prev.isTransactionCompleting() == false) { // do not worry about delisting previous invocation resources // if transaction is being completed delistComponentResources(prev, true); // delist with TMSUSPEND } }
private void enlistComponentResources(ComponentInvocation inv) throws InvocationException { try { Transaction tran = (Transaction) inv.getTransaction(); if (isTransactionActive(tran)) { List l = getExistingResourceList(inv.getInstance(), inv); if (l == null || l.size() == 0) return; Iterator it = l.iterator(); // END IASRI 4705808 TTT002 while(it.hasNext()) { TransactionalResource h = (TransactionalResource) it.next(); try{ enlistResource(tran,h); }catch(Exception ex){ if (_logger.isLoggable(Level.FINE)) _logger.log(Level.WARNING, "enterprise_distributedtx.pooling_excep", ex); it.remove(); handleResourceError(h,ex,tran); } } //END OF IASRI 4658504 } } catch (Exception ex) { _logger.log(Level.SEVERE, "enterprise_distributedtx.excep_in_enlist",ex); } }
Transaction tran = (Transaction) inv.getTransaction(); if (isTransactionActive(tran)) { List l = getExistingResourceList(inv.getInstance(), inv);
transaction = (Transaction) i.getTransaction(); if (context_ != null && transaction != null) {
transaction = (Transaction) i.getTransaction(); if (context_ != null && transaction != null) {
tran = (Transaction) inv.getTransaction();
tran = (Transaction) inv.getTransaction(); tm.registerComponentResource(handle);
/** * Returns the transaction component is participating. * * @return Handle to the <code>Transaction</code> object. * @exception <code>PoolingException<code> */ public Transaction getTransaction() throws PoolingException { InvocationManager invmgr = ConnectorRuntime.getRuntime().getInvocationManager(); ComponentInvocation inv = invmgr.getCurrentInvocation(); if (inv == null) { try { return ConnectorRuntime.getRuntime().getTransaction(); } catch (Exception ex) { return null; } } return (Transaction) inv.getTransaction(); }
tran = (Transaction) inv.getTransaction(); tm.unregisterComponentResource(resource);
cpy.instance = parentInv.getInstance(); cpy.container = parentInv.getContainerContext(); cpy.transaction = parentInv.getTransaction(); result.add(cpy);
cpy.instance = parentInv.getInstance(); cpy.container = parentInv.getContainerContext(); cpy.transaction = parentInv.getTransaction(); result.add(cpy);