Package com.arjuna.ats.internal.arjuna.coordinator

Examples of com.arjuna.ats.internal.arjuna.coordinator.ReaperElement


        Reapable reapable = new MockReapable(new Uid());
        Reapable reapable2 = new MockReapable(new Uid());
        Reapable reapable3 = new MockReapable(new Uid());

        ReaperElement reaperElement = new ReaperElement(reapable, 30);
        ReaperElement reaperElement2 = new ReaperElement(reapable2, 20);
        ReaperElement reaperElement3 = new ReaperElement(reapable3, 10);

        // test that ordering is by timeout, regardless of insertion order
        SortedSet sortedSet = new TreeSet();
        sortedSet.add(reaperElement);
        sortedSet.add(reaperElement3);
View Full Code Here


    Reapable reapable = new MockReapable(new Uid());
    Reapable reapable2 = new MockReapable(new Uid());
    Reapable reapable3 = new MockReapable(new Uid());

    ReaperElement reaperElement = new ReaperElement(reapable, 30);
    ReaperElement reaperElement2 = new ReaperElement(reapable2, 20);
    ReaperElement reaperElement3 = new ReaperElement(reapable3, 10);

    // test that ordering is by timeout, regardless of insertion order
    SortedSet sortedSet = new TreeSet();
    sortedSet.add(reaperElement);
    sortedSet.add(reaperElement3);
View Full Code Here

/*      */   {
/*  154 */     if (_dynamic)
/*      */     {
/*      */       try
/*      */       {
/*  158 */         ReaperElement head = (ReaperElement)this._transactions.first();
/*  159 */         return head._absoluteTimeout - System.currentTimeMillis();
/*      */       }
/*      */       catch (NoSuchElementException nsee)
/*      */       {
/*  163 */         return 9223372036854775807L;
/*      */       }
/*      */
/*      */     }
/*      */
/*      */     try
/*      */     {
/*  175 */       ReaperElement head = (ReaperElement)this._transactions.first();
/*  176 */       if (head._status != 0) {
/*  177 */         long waitTime = head._absoluteTimeout - System.currentTimeMillis();
/*  178 */         if (waitTime < this._checkPeriod)
/*      */         {
/*  180 */           return head._absoluteTimeout - System.currentTimeMillis();
View Full Code Here

/*  204 */       tsLogger.arjLogger.debug(16L, 4L, 1L, "TransactionReaper::check ()");
/*      */     }
/*      */
/*      */     while (true)
/*      */     {
/*      */       ReaperElement e;
/*      */       try
/*      */       {
/*  214 */         e = (ReaperElement)this._transactions.first();
/*      */       }
/*      */       catch (NoSuchElementException nsee)
/*      */       {
/*  218 */         return true;
/*      */       }
/*      */
/*  221 */       if (tsLogger.arjLoggerI18N.isDebugEnabled())
/*      */       {
/*  223 */         tsLogger.arjLoggerI18N.debug(16L, 4L, 1L, "com.arjuna.ats.arjuna.coordinator.TransactionReaper_2", new Object[] { Long.toString(e._absoluteTimeout) });
/*      */       }
/*      */
/*  233 */       long now = System.currentTimeMillis();
/*  234 */       if (now < e._absoluteTimeout)
/*      */       {
/*      */         break;
/*      */       }
/*      */
/*  241 */       if (tsLogger.arjLogger.debugAllowed())
/*      */       {
/*  243 */         tsLogger.arjLogger.debug(16L, 4L, 1L, "Reaper timeout for TX " + e._control.get_uid() + " state " + e.statusName());
/*      */       }
/*      */
/*  256 */       synchronized (e) {
/*  257 */         switch (e._status)
/*      */         {
View Full Code Here

/*      */
/*      */   public final void doCancellations()
/*      */   {
/*      */     while (true)
/*      */     {
/*      */       ReaperElement e;
/*  537 */       synchronized (this._workQueue)
/*      */       {
/*      */         try
/*      */         {
/*  541 */           e = (ReaperElement)this._workQueue.remove(0);
/*      */         } catch (IndexOutOfBoundsException ioobe) {
/*  543 */           break;
/*      */         }
/*      */
/*      */       }
/*      */
/*  551 */       if (tsLogger.arjLogger.debugAllowed())
/*      */       {
/*  553 */         tsLogger.arjLogger.debug(16L, 4L, 1L, "Reaper Worker " + Thread.currentThread() + " attempting to cancel " + e._control.get_uid());
/*      */       }
/*      */
/*  559 */       boolean cancelled = false;
/*  560 */       boolean excepted = false;
/*      */
/*  562 */       synchronized (e)
/*      */       {
/*  564 */         e._worker = Thread.currentThread();
/*  565 */         e._status = 2;
/*  566 */         e.notify();
/*      */       }
/*      */
/*      */       try
/*      */       {
/*  575 */         if (e._control.running())
/*      */         {
/*  579 */           if (e._control.cancel() == 4)
/*      */           {
/*  581 */             cancelled = true;
/*      */           }
/*      */         }
/*      */       }
/*      */       catch (Exception e1)
/*      */       {
/*  587 */         excepted = true;
/*      */       }
/*      */
/*  594 */       synchronized (e)
/*      */       {
/*  596 */         if (e._status == 6)
/*      */         {
/*  604 */           ReaperWorkerThread worker = (ReaperWorkerThread)Thread.currentThread();
/*  605 */           worker.shutdown();
/*      */
/*  607 */           synchronized (this)
/*      */           {
/*  609 */             _zombieCount -= 1;
/*      */           }
/*      */
/*  612 */           if (tsLogger.arjLoggerI18N.isDebugEnabled())
/*      */           {
/*  614 */             tsLogger.arjLoggerI18N.debug(1024L, 4L, 1L, "com.arjuna.ats.internal.arjuna.coordinator.ReaperThread_13", new Object[] { Thread.currentThread(), e._control.get_uid(), new Integer(_zombieCount) });
/*      */           }
/*      */
/*  629 */           break;
/*      */         }
/*  631 */         if ((cancelled) && (e._status == 3))
/*      */         {
/*  638 */           cancelled = false;
/*  639 */           e._status = 4;
/*  640 */           e.notify();
/*      */         }
/*      */         else
/*      */         {
/*  644 */           e._status = (cancelled ? 5 : 4);
/*      */
/*  647 */           e.notify();
/*      */         }
/*      */
/*      */       }
/*      */
/*  655 */       if (cancelled)
View Full Code Here

/*      */
/*  810 */     if (this._timeouts.containsKey(control)) {
/*  811 */       return false;
/*      */     }
/*      */
/*  814 */     ReaperElement e = new ReaperElement(control, timeout);
/*      */
/*  816 */     synchronized (this)
/*      */     {
/*  818 */       _lifetime += timeout;
/*      */
View Full Code Here

/*      */       }
/*      */
/*  900 */       return 0;
/*      */     }
/*      */
/*  903 */     ReaperElement reaperElement = (ReaperElement)this._timeouts.get(control);
/*      */     Integer timeout;
/*      */     Integer timeout;
/*  906 */     if (reaperElement == null)
/*  907 */       timeout = new Integer(0);
/*      */     else {
View Full Code Here

    Reapable reapable = new MockReapable(new Uid());
    Reapable reapable2 = new MockReapable(new Uid());
    Reapable reapable3 = new MockReapable(new Uid());

    ReaperElement reaperElement = new ReaperElement(reapable, 30);
    ReaperElement reaperElement2 = new ReaperElement(reapable2, 20);
    ReaperElement reaperElement3 = new ReaperElement(reapable3, 10);

    // test that ordering is by timeout, regardless of insertion order
    SortedSet sortedSet = new TreeSet();
    sortedSet.add(reaperElement);
    sortedSet.add(reaperElement3);
View Full Code Here

TOP

Related Classes of com.arjuna.ats.internal.arjuna.coordinator.ReaperElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.