Classfile /home/jhalli/IdeaProjects/jboss/jbossts_415x/ArjunaCore/arjuna/build/dump/com/arjuna/ats/arjuna/coordinator/TransactionReaper.class Last modified Sep 23, 2011; size 17992 bytes MD5 checksum 390f57100751e340f4e99de12b2ec7f0 Compiled from "TransactionReaper.java" public class com.arjuna.ats.arjuna.coordinator.TransactionReaper SourceFile: "TransactionReaper.java" minor version: 0 major version: 51 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Utf8 com/arjuna/ats/arjuna/coordinator/TransactionReaper #2 = Class #1 // com/arjuna/ats/arjuna/coordinator/TransactionReaper #3 = Utf8 java/lang/Object #4 = Class #3 // java/lang/Object #5 = Utf8 TransactionReaper.java #6 = Utf8 NORMAL #7 = Utf8 Ljava/lang/String; #8 = String #6 // NORMAL #9 = Utf8 DYNAMIC #10 = String #9 // DYNAMIC #11 = Utf8 PERIODIC #12 = String #11 // PERIODIC #13 = Utf8 defaultCheckPeriod #14 = Utf8 J #15 = Long 120000l #17 = Utf8 defaultCancelWaitPeriod #18 = Long 500l #20 = Utf8 defaultCancelFailWaitPeriod #21 = Utf8 defaultZombieMax #22 = Utf8 I #23 = Integer 8 #24 = Utf8 _reaperElements #25 = Utf8 Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; #26 = Utf8 _timeouts #27 = Utf8 Ljava/util/concurrent/ConcurrentMap; #28 = Utf8 Ljava/util/concurrent/ConcurrentMap; #29 = Utf8 _workQueue #30 = Utf8 Ljava/util/List; #31 = Utf8 Ljava/util/List; #32 = Utf8 _listeners #33 = Utf8 Ljava/util/Vector; #34 = Utf8 Ljava/util/Vector; #35 = Utf8 _checkPeriod #36 = Utf8 nextDynamicCheckTime #37 = Utf8 Ljava/util/concurrent/atomic/AtomicLong; #38 = Utf8 _cancelWaitPeriod #39 = Utf8 _cancelFailWaitPeriod #40 = Utf8 _zombieMax #41 = Utf8 _theReaper #42 = Utf8 Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; #43 = Utf8 _reaperThread #44 = Utf8 Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; #45 = Utf8 _reaperWorkerThread #46 = Utf8 Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; #47 = Utf8 _dynamic #48 = Utf8 Z #49 = Utf8 _lifetime #50 = Utf8 _zombieCount #51 = Utf8 _inShutdown #52 = Utf8 #53 = Utf8 (J)V #54 = Utf8 ()V #55 = NameAndType #52:#54 // "":()V #56 = Methodref #4.#55 // java/lang/Object."":()V #57 = Utf8 com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager #58 = Class #57 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager #59 = Methodref #58.#55 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager."":()V #60 = NameAndType #24:#25 // _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; #61 = Fieldref #2.#60 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; #62 = Utf8 java/util/concurrent/ConcurrentHashMap #63 = Class #62 // java/util/concurrent/ConcurrentHashMap #64 = Methodref #63.#55 // java/util/concurrent/ConcurrentHashMap."":()V #65 = NameAndType #26:#27 // _timeouts:Ljava/util/concurrent/ConcurrentMap; #66 = Fieldref #2.#65 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._timeouts:Ljava/util/concurrent/ConcurrentMap; #67 = Utf8 java/util/LinkedList #68 = Class #67 // java/util/LinkedList #69 = Methodref #68.#55 // java/util/LinkedList."":()V #70 = NameAndType #29:#30 // _workQueue:Ljava/util/List; #71 = Fieldref #2.#70 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._workQueue:Ljava/util/List; #72 = Utf8 java/util/Vector #73 = Class #72 // java/util/Vector #74 = Methodref #73.#55 // java/util/Vector."":()V #75 = NameAndType #32:#33 // _listeners:Ljava/util/Vector; #76 = Fieldref #2.#75 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._listeners:Ljava/util/Vector; #77 = NameAndType #35:#14 // _checkPeriod:J #78 = Fieldref #2.#77 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._checkPeriod:J #79 = Utf8 java/util/concurrent/atomic/AtomicLong #80 = Class #79 // java/util/concurrent/atomic/AtomicLong #81 = Long 9223372036854775807l #83 = NameAndType #52:#53 // "":(J)V #84 = Methodref #80.#83 // java/util/concurrent/atomic/AtomicLong."":(J)V #85 = NameAndType #36:#37 // nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; #86 = Fieldref #2.#85 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; #87 = NameAndType #38:#14 // _cancelWaitPeriod:J #88 = Fieldref #2.#87 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._cancelWaitPeriod:J #89 = NameAndType #39:#14 // _cancelFailWaitPeriod:J #90 = Fieldref #2.#89 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._cancelFailWaitPeriod:J #91 = NameAndType #40:#22 // _zombieMax:I #92 = Fieldref #2.#91 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._zombieMax:I #93 = NameAndType #51:#48 // _inShutdown:Z #94 = Fieldref #2.#93 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._inShutdown:Z #95 = Utf8 com/arjuna/ats/arjuna/logging/tsLogger #96 = Class #95 // com/arjuna/ats/arjuna/logging/tsLogger #97 = Utf8 logger #98 = Utf8 Lorg/jboss/logging/Logger; #99 = NameAndType #97:#98 // logger:Lorg/jboss/logging/Logger; #100 = Fieldref #96.#99 // com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; #101 = Utf8 org/jboss/logging/Logger #102 = Class #101 // org/jboss/logging/Logger #103 = Utf8 isTraceEnabled #104 = Utf8 ()Z #105 = NameAndType #103:#104 // isTraceEnabled:()Z #106 = Methodref #102.#105 // org/jboss/logging/Logger.isTraceEnabled:()Z #107 = Utf8 java/lang/StringBuilder #108 = Class #107 // java/lang/StringBuilder #109 = Methodref #108.#55 // java/lang/StringBuilder."":()V #110 = Utf8 TransactionReaper::TransactionReaper ( #111 = String #110 // TransactionReaper::TransactionReaper ( #112 = Utf8 append #113 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder; #114 = NameAndType #112:#113 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #115 = Methodref #108.#114 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; #116 = Utf8 (J)Ljava/lang/StringBuilder; #117 = NameAndType #112:#116 // append:(J)Ljava/lang/StringBuilder; #118 = Methodref #108.#117 // java/lang/StringBuilder.append:(J)Ljava/lang/StringBuilder; #119 = Utf8 ) #120 = String #119 // ) #121 = Utf8 toString #122 = Utf8 ()Ljava/lang/String; #123 = NameAndType #121:#122 // toString:()Ljava/lang/String; #124 = Methodref #108.#123 // java/lang/StringBuilder.toString:()Ljava/lang/String; #125 = Utf8 trace #126 = Utf8 (Ljava/lang/Object;)V #127 = NameAndType #125:#126 // trace:(Ljava/lang/Object;)V #128 = Methodref #102.#127 // org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V #129 = Utf8 this #130 = Utf8 checkPeriod #131 = Utf8 checkingPeriod #132 = Utf8 ()J #133 = NameAndType #47:#48 // _dynamic:Z #134 = Fieldref #2.#133 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._dynamic:Z #135 = Utf8 get #136 = NameAndType #135:#132 // get:()J #137 = Methodref #80.#136 // java/util/concurrent/atomic/AtomicLong.get:()J #138 = Utf8 java/lang/System #139 = Class #138 // java/lang/System #140 = Utf8 currentTimeMillis #141 = NameAndType #140:#132 // currentTimeMillis:()J #142 = Methodref #139.#141 // java/lang/System.currentTimeMillis:()J #143 = Utf8 getFirst #144 = Utf8 ()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; #145 = NameAndType #143:#144 // getFirst:()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; #146 = Methodref #58.#145 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.getFirst:()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; #147 = Utf8 com/arjuna/ats/internal/arjuna/coordinator/ReaperElement #148 = Class #147 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement #149 = Utf8 _status #150 = NameAndType #149:#22 // _status:I #151 = Fieldref #148.#150 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I #152 = Utf8 getAbsoluteTimeout #153 = NameAndType #152:#132 // getAbsoluteTimeout:()J #154 = Methodref #148.#153 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J #155 = Utf8 waitTime #156 = Utf8 head #157 = Utf8 Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; #158 = Utf8 check #159 = Utf8 org/jboss/byteman/rule/exception/EarlyReturnException #160 = Class #159 // org/jboss/byteman/rule/exception/EarlyReturnException #161 = Utf8 org/jboss/byteman/rule/exception/ThrowException #162 = Class #161 // org/jboss/byteman/rule/exception/ThrowException #163 = Utf8 org/jboss/byteman/rule/exception/ExecuteException #164 = Class #163 // org/jboss/byteman/rule/exception/ExecuteException #165 = Utf8 java/lang/Exception #166 = Class #165 // java/lang/Exception #167 = Utf8 TransactionReaper::check () #168 = String #167 // TransactionReaper::check () #169 = Utf8 pause transaction reaper 1_2 #170 = String #169 // pause transaction reaper 1_2 #171 = Utf8 org/jboss/byteman/rule/Rule #172 = Class #171 // org/jboss/byteman/rule/Rule #173 = Utf8 execute #174 = Utf8 (Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V #175 = NameAndType #173:#174 // execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V #176 = Methodref #172.#175 // org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V #177 = Utf8 TransactionReaper::check - comparing #178 = String #177 // TransactionReaper::check - comparing #179 = Utf8 java/lang/Long #180 = Class #179 // java/lang/Long #181 = Utf8 (J)Ljava/lang/String; #182 = NameAndType #121:#181 // toString:(J)Ljava/lang/String; #183 = Methodref #180.#182 // java/lang/Long.toString:(J)Ljava/lang/String; #184 = Utf8 set #185 = NameAndType #184:#53 // set:(J)V #186 = Methodref #80.#185 // java/util/concurrent/atomic/AtomicLong.set:(J)V #187 = Utf8 i18NLogger #188 = Utf8 Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; #189 = NameAndType #187:#188 // i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; #190 = Fieldref #96.#189 // com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; #191 = Utf8 _control #192 = Utf8 Lcom/arjuna/ats/arjuna/coordinator/Reapable; #193 = NameAndType #191:#192 // _control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; #194 = Fieldref #148.#193 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; #195 = Utf8 com/arjuna/ats/arjuna/coordinator/Reapable #196 = Class #195 // com/arjuna/ats/arjuna/coordinator/Reapable #197 = Utf8 get_uid #198 = Utf8 ()Lcom/arjuna/ats/arjuna/common/Uid; #199 = NameAndType #197:#198 // get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; #200 = InterfaceMethodref #196.#199 // com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; #201 = Utf8 statusName #202 = NameAndType #201:#122 // statusName:()Ljava/lang/String; #203 = Methodref #148.#202 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.statusName:()Ljava/lang/String; #204 = Utf8 com/arjuna/ats/arjuna/logging/arjunaI18NLogger #205 = Class #204 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger #206 = Utf8 warn_coordinator_TransactionReaper_18 #207 = Utf8 (Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #208 = NameAndType #206:#207 // warn_coordinator_TransactionReaper_18:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #209 = InterfaceMethodref #205.#208 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_18:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #210 = Utf8 track next element to be processed_3 #211 = String #210 // track next element to be processed_3 #212 = Utf8 pause transaction reaper 2_4 #213 = String #212 // pause transaction reaper 2_4 #214 = Utf8 reinsertElement #215 = Utf8 (Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V #216 = NameAndType #214:#215 // reinsertElement:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V #217 = Methodref #2.#216 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.reinsertElement:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V #218 = Utf8 Reaper scheduling TX for cancellation #219 = String #218 // Reaper scheduling TX for cancellation #220 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder; #221 = NameAndType #112:#220 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; #222 = Methodref #108.#221 // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; #223 = Utf8 java/util/List #224 = Class #223 // java/util/List #225 = Utf8 add #226 = Utf8 (Ljava/lang/Object;)Z #227 = NameAndType #225:#226 // add:(Ljava/lang/Object;)Z #228 = InterfaceMethodref #224.#227 // java/util/List.add:(Ljava/lang/Object;)Z #229 = Utf8 notifyAll #230 = NameAndType #229:#54 // notifyAll:()V #231 = Methodref #4.#230 // java/lang/Object.notifyAll:()V #232 = Utf8 Reaper deferring interrupt for TX scheduled for cancel #233 = String #232 // Reaper deferring interrupt for TX scheduled for cancel #234 = Utf8 _worker #235 = Utf8 Ljava/lang/Thread; #236 = NameAndType #234:#235 // _worker:Ljava/lang/Thread; #237 = Fieldref #148.#236 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._worker:Ljava/lang/Thread; #238 = Utf8 pause transaction reaper 5_5 #239 = String #238 // pause transaction reaper 5_5 #240 = Utf8 java/lang/Thread #241 = Class #240 // java/lang/Thread #242 = Utf8 interrupt #243 = NameAndType #242:#54 // interrupt:()V #244 = Methodref #241.#243 // java/lang/Thread.interrupt:()V #245 = Utf8 ReaperTestCase2 flag interrupt_11 #246 = String #245 // ReaperTestCase2 flag interrupt_11 #247 = Utf8 TransactionReaper::check interrupting cancel in progress for #248 = String #247 // TransactionReaper::check interrupting cancel in progress for #249 = Utf8 pause transaction reaper 6_6 #250 = String #249 // pause transaction reaper 6_6 #251 = Utf8 pause transaction reaper 7_7 #252 = String #251 // pause transaction reaper 7_7 #253 = NameAndType #50:#22 // _zombieCount:I #254 = Fieldref #2.#253 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._zombieCount:I #255 = Utf8 ReaperTestCase2 flag zombie_12 #256 = String #255 // ReaperTestCase2 flag zombie_12 #257 = Utf8 Reaper #258 = String #257 // Reaper #259 = Utf8 currentThread #260 = Utf8 ()Ljava/lang/Thread; #261 = NameAndType #259:#260 // currentThread:()Ljava/lang/Thread; #262 = Methodref #241.#261 // java/lang/Thread.currentThread:()Ljava/lang/Thread; #263 = Utf8 got a zombie #264 = String #263 // got a zombie #265 = Utf8 (zombie count now #266 = String #265 // (zombie count now #267 = Utf8 (I)Ljava/lang/StringBuilder; #268 = NameAndType #112:#267 // append:(I)Ljava/lang/StringBuilder; #269 = Methodref #108.#268 // java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; #270 = Utf8 ) cancelling #271 = String #270 // ) cancelling #272 = Utf8 java/lang/Integer #273 = Class #272 // java/lang/Integer #274 = Utf8 (I)Ljava/lang/String; #275 = NameAndType #121:#274 // toString:(I)Ljava/lang/String; #276 = Methodref #273.#275 // java/lang/Integer.toString:(I)Ljava/lang/String; #277 = Utf8 error_coordinator_TransactionReaper_5 #278 = Utf8 (Ljava/lang/String;)V #279 = NameAndType #277:#278 // error_coordinator_TransactionReaper_5:(Ljava/lang/String;)V #280 = InterfaceMethodref #205.#279 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.error_coordinator_TransactionReaper_5:(Ljava/lang/String;)V #281 = Utf8 com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread #282 = Class #281 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread #283 = NameAndType #41:#42 // _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; #284 = Fieldref #2.#283 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; #285 = Utf8 (Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V #286 = NameAndType #52:#285 // "":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V #287 = Methodref #282.#286 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread."":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V #288 = NameAndType #45:#46 // _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; #289 = Fieldref #2.#288 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; #290 = Utf8 setDaemon #291 = Utf8 (Z)V #292 = NameAndType #290:#291 // setDaemon:(Z)V #293 = Methodref #282.#292 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.setDaemon:(Z)V #294 = Utf8 start #295 = NameAndType #294:#54 // start:()V #296 = Methodref #282.#295 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.start:()V #297 = Methodref #241.#123 // java/lang/Thread.toString:()Ljava/lang/String; #298 = Utf8 warn_coordinator_TransactionReaper_6 #299 = Utf8 (Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #300 = NameAndType #298:#299 // warn_coordinator_TransactionReaper_6:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #301 = InterfaceMethodref #205.#300 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_6:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #302 = Utf8 removeElementReaper #303 = Utf8 (Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #304 = NameAndType #302:#303 // removeElementReaper:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #305 = Methodref #2.#304 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.removeElementReaper:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #306 = Utf8 preventCommit #307 = NameAndType #306:#104 // preventCommit:()Z #308 = InterfaceMethodref #196.#307 // com/arjuna/ats/arjuna/coordinator/Reapable.preventCommit:()Z #309 = Utf8 warn_coordinator_TransactionReaper_10 #310 = Utf8 (Lcom/arjuna/ats/arjuna/common/Uid;)V #311 = NameAndType #309:#310 // warn_coordinator_TransactionReaper_10:(Lcom/arjuna/ats/arjuna/common/Uid;)V #312 = InterfaceMethodref #205.#311 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_10:(Lcom/arjuna/ats/arjuna/common/Uid;)V #313 = Utf8 notifyListeners #314 = Utf8 (Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V #315 = NameAndType #313:#314 // notifyListeners:(Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V #316 = Methodref #2.#315 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.notifyListeners:(Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V #317 = Utf8 warn_coordinator_TransactionReaper_11 #318 = NameAndType #317:#310 // warn_coordinator_TransactionReaper_11:(Lcom/arjuna/ats/arjuna/common/Uid;)V #319 = InterfaceMethodref #205.#318 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_11:(Lcom/arjuna/ats/arjuna/common/Uid;)V #320 = Utf8 warn_coordinator_TransactionReaper_12 #321 = Utf8 (Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #322 = NameAndType #320:#321 // warn_coordinator_TransactionReaper_12:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #323 = InterfaceMethodref #205.#322 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_12:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #324 = Utf8 out #325 = Utf8 Ljava/io/PrintStream; #326 = NameAndType #324:#325 // out:Ljava/io/PrintStream; #327 = Fieldref #139.#326 // java/lang/System.out:Ljava/io/PrintStream; #328 = Utf8 caught ReturnException #329 = String #328 // caught ReturnException #330 = Utf8 java/io/PrintStream #331 = Class #330 // java/io/PrintStream #332 = Utf8 println #333 = NameAndType #332:#278 // println:(Ljava/lang/String;)V #334 = Methodref #331.#333 // java/io/PrintStream.println:(Ljava/lang/String;)V #335 = Utf8 caught ThrowException #336 = String #335 // caught ThrowException #337 = Utf8 getThrowable #338 = Utf8 ()Ljava/lang/Throwable; #339 = NameAndType #337:#338 // getThrowable:()Ljava/lang/Throwable; #340 = Methodref #162.#339 // org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; #341 = Utf8 caught ExecuteException #342 = String #341 // caught ExecuteException #343 = Utf8 nextTimeout #344 = Utf8 now #345 = Utf8 next #346 = Utf8 e1 #347 = Utf8 Ljava/lang/Exception; #348 = Utf8 reaperElement #349 = Utf8 java/lang/Throwable #350 = Class #349 // java/lang/Throwable #351 = Utf8 reorder #352 = Utf8 (Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)J #353 = NameAndType #351:#352 // reorder:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)J #354 = Methodref #58.#353 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.reorder:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)J #355 = Utf8 newWakeup #356 = Utf8 e #357 = Utf8 delay #358 = Utf8 waitForCancellations #359 = Utf8 java/lang/InterruptedException #360 = Class #359 // java/lang/InterruptedException #361 = Utf8 isEmpty #362 = NameAndType #361:#104 // isEmpty:()Z #363 = InterfaceMethodref #224.#362 // java/util/List.isEmpty:()Z #364 = Utf8 wait #365 = NameAndType #364:#54 // wait:()V #366 = Methodref #4.#365 // java/lang/Object.wait:()V #367 = Utf8 Ljava/lang/InterruptedException; #368 = Utf8 doCancellations #369 = Utf8 java/lang/IndexOutOfBoundsException #370 = Class #369 // java/lang/IndexOutOfBoundsException #371 = Utf8 pause transaction reaper worker 1_8 #372 = String #371 // pause transaction reaper worker 1_8 #373 = Utf8 remove #374 = Utf8 (I)Ljava/lang/Object; #375 = NameAndType #373:#374 // remove:(I)Ljava/lang/Object; #376 = InterfaceMethodref #224.#375 // java/util/List.remove:(I)Ljava/lang/Object; #377 = Utf8 Reaper Worker #378 = String #377 // Reaper Worker #379 = Utf8 attempting to cancel #380 = String #379 // attempting to cancel #381 = Utf8 pause transaction reaper worker 2_9 #382 = String #381 // pause transaction reaper worker 2_9 #383 = Utf8 running #384 = NameAndType #383:#104 // running:()Z #385 = InterfaceMethodref #196.#384 // com/arjuna/ats/arjuna/coordinator/Reapable.running:()Z #386 = Utf8 pause transaction reaper worker 3_10 #387 = String #386 // pause transaction reaper worker 3_10 #388 = Utf8 cancel #389 = Utf8 ()I #390 = NameAndType #388:#389 // cancel:()I #391 = InterfaceMethodref #196.#390 // com/arjuna/ats/arjuna/coordinator/Reapable.cancel:()I #392 = Utf8 com/arjuna/ats/arjuna/coordinator/TxStats #393 = Class #392 // com/arjuna/ats/arjuna/coordinator/TxStats #394 = Utf8 enabled #395 = NameAndType #394:#104 // enabled:()Z #396 = Methodref #393.#395 // com/arjuna/ats/arjuna/coordinator/TxStats.enabled:()Z #397 = Utf8 getInstance #398 = Utf8 ()Lcom/arjuna/ats/arjuna/coordinator/TxStats; #399 = NameAndType #397:#398 // getInstance:()Lcom/arjuna/ats/arjuna/coordinator/TxStats; #400 = Methodref #393.#399 // com/arjuna/ats/arjuna/coordinator/TxStats.getInstance:()Lcom/arjuna/ats/arjuna/coordinator/TxStats; #401 = Utf8 incrementTimeouts #402 = NameAndType #401:#54 // incrementTimeouts:()V #403 = Methodref #393.#402 // com/arjuna/ats/arjuna/coordinator/TxStats.incrementTimeouts:()V #404 = Utf8 shutdown #405 = NameAndType #404:#54 // shutdown:()V #406 = Methodref #282.#405 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.shutdown:()V #407 = Utf8 warn_coordinator_TransactionReaper_13 #408 = Utf8 (Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #409 = NameAndType #407:#408 // warn_coordinator_TransactionReaper_13:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #410 = InterfaceMethodref #205.#409 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_13:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V #411 = Utf8 warn_coordinator_TransactionReaper_7 #412 = NameAndType #411:#299 // warn_coordinator_TransactionReaper_7:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #413 = InterfaceMethodref #205.#412 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_7:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #414 = Utf8 warn_coordinator_TransactionReaper_9 #415 = Utf8 (Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #416 = NameAndType #414:#415 // warn_coordinator_TransactionReaper_9:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #417 = InterfaceMethodref #205.#416 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_9:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #418 = Utf8 warn_coordinator_TransactionReaper_8 #419 = NameAndType #418:#299 // warn_coordinator_TransactionReaper_8:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #420 = InterfaceMethodref #205.#419 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_8:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #421 = Utf8 warn_coordinator_TransactionReaper_14 #422 = NameAndType #421:#299 // warn_coordinator_TransactionReaper_14:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #423 = InterfaceMethodref #205.#422 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_14:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #424 = Utf8 warn_coordinator_TransactionReaper_15 #425 = NameAndType #424:#299 // warn_coordinator_TransactionReaper_15:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #426 = InterfaceMethodref #205.#425 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_15:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V #427 = Utf8 warn_coordinator_TransactionReaper_16 #428 = NameAndType #427:#415 // warn_coordinator_TransactionReaper_16:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #429 = InterfaceMethodref #205.#428 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_16:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V #430 = Utf8 ioobe #431 = Utf8 Ljava/lang/IndexOutOfBoundsException; #432 = Utf8 worker #433 = Utf8 cancelled #434 = Utf8 exception #435 = Utf8 numberOfTransactions #436 = Utf8 size #437 = NameAndType #436:#389 // size:()I #438 = Methodref #58.#437 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.size:()I #439 = Utf8 numberOfTimeouts #440 = Utf8 java/util/concurrent/ConcurrentMap #441 = Class #440 // java/util/concurrent/ConcurrentMap #442 = InterfaceMethodref #441.#437 // java/util/concurrent/ConcurrentMap.size:()I #443 = Utf8 addListener #444 = Utf8 (Lcom/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor;)V #445 = Methodref #73.#227 // java/util/Vector.add:(Ljava/lang/Object;)Z #446 = Utf8 listener #447 = Utf8 Lcom/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor; #448 = Utf8 removeListener #449 = Utf8 (Lcom/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor;)Z #450 = NameAndType #373:#226 // remove:(Ljava/lang/Object;)Z #451 = Methodref #73.#450 // java/util/Vector.remove:(Ljava/lang/Object;)Z #452 = Utf8 insert #453 = Utf8 (Lcom/arjuna/ats/arjuna/coordinator/Reapable;I)V #454 = Utf8 TransactionReaper::insert ( #455 = String #454 // TransactionReaper::insert ( #456 = Utf8 , #457 = String #456 // , #458 = NameAndType #52:#453 // "":(Lcom/arjuna/ats/arjuna/coordinator/Reapable;I)V #459 = Methodref #148.#458 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement."":(Lcom/arjuna/ats/arjuna/coordinator/Reapable;I)V #460 = NameAndType #49:#37 // _lifetime:Ljava/util/concurrent/atomic/AtomicLong; #461 = Fieldref #2.#460 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._lifetime:Ljava/util/concurrent/atomic/AtomicLong; #462 = Utf8 addAndGet #463 = Utf8 (J)J #464 = NameAndType #462:#463 // addAndGet:(J)J #465 = Methodref #80.#464 // java/util/concurrent/atomic/AtomicLong.addAndGet:(J)J #466 = Utf8 putIfAbsent #467 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #468 = NameAndType #466:#467 // putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #469 = InterfaceMethodref #441.#468 // java/util/concurrent/ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; #470 = NameAndType #225:#303 // add:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #471 = Methodref #58.#470 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.add:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #472 = Utf8 java/lang/IllegalStateException #473 = Class #472 // java/lang/IllegalStateException #474 = Utf8 get_coordinator_TransactionReaper_1 #475 = NameAndType #474:#122 // get_coordinator_TransactionReaper_1:()Ljava/lang/String; #476 = InterfaceMethodref #205.#475 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.get_coordinator_TransactionReaper_1:()Ljava/lang/String; #477 = NameAndType #52:#278 // "":(Ljava/lang/String;)V #478 = Methodref #473.#477 // java/lang/IllegalStateException."":(Ljava/lang/String;)V #479 = Utf8 updateCheckTimeForEarlierInsert #480 = NameAndType #479:#53 // updateCheckTimeForEarlierInsert:(J)V #481 = Methodref #2.#480 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.updateCheckTimeForEarlierInsert:(J)V #482 = Utf8 control #483 = Utf8 timeout #484 = Utf8 compareAndSet #485 = Utf8 (JJ)Z #486 = NameAndType #484:#485 // compareAndSet:(JJ)Z #487 = Methodref #80.#486 // java/util/concurrent/atomic/AtomicLong.compareAndSet:(JJ)Z #488 = Utf8 oldCheckTime #489 = Utf8 newCheckTime #490 = Utf8 TransactionReaper::remove ( #491 = String #490 // TransactionReaper::remove ( #492 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object; #493 = NameAndType #135:#492 // get:(Ljava/lang/Object;)Ljava/lang/Object; #494 = InterfaceMethodref #441.#493 // java/util/concurrent/ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object; #495 = Utf8 removeElementClient #496 = NameAndType #495:#303 // removeElementClient:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #497 = Methodref #2.#496 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.removeElementClient:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #498 = Utf8 Ljava/lang/Object; #499 = Utf8 key #500 = Utf8 getRemainingTimeoutMills #501 = Utf8 (Ljava/lang/Object;)J #502 = InterfaceMethodref #441.#362 // java/util/concurrent/ConcurrentMap.isEmpty:()Z #503 = Utf8 TransactionReaper::getRemainingTimeout for #504 = String #503 // TransactionReaper::getRemainingTimeout for #505 = Utf8 returning 0 #506 = String #505 // returning 0 #507 = Utf8 TransactionReaper::getRemainingTimeoutMillis for #508 = String #507 // TransactionReaper::getRemainingTimeoutMillis for #509 = Utf8 returning #510 = String #509 // returning #511 = Utf8 getTimeout #512 = Utf8 (Ljava/lang/Object;)I #513 = Utf8 TransactionReaper::getTimeout for #514 = String #513 // TransactionReaper::getTimeout for #515 = Utf8 _timeout #516 = NameAndType #515:#22 // _timeout:I #517 = Fieldref #148.#516 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._timeout:I #518 = Utf8 setAllTimeoutsToZero #519 = NameAndType #518:#54 // setAllTimeoutsToZero:()V #520 = Methodref #58.#519 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.setAllTimeoutsToZero:()V #521 = Methodref #58.#362 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.isEmpty:()Z #522 = Utf8 ReaperTestCase3 unlatch reaper and reaper worker_13 #523 = String #522 // ReaperTestCase3 unlatch reaper and reaper worker_13 #524 = NameAndType #43:#44 // _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; #525 = Fieldref #2.#524 // com/arjuna/ats/arjuna/coordinator/TransactionReaper._reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; #526 = Utf8 com/arjuna/ats/internal/arjuna/coordinator/ReaperThread #527 = Class #526 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread #528 = Methodref #527.#405 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.shutdown:()V #529 = Utf8 join #530 = NameAndType #529:#54 // join:()V #531 = Methodref #527.#530 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.join:()V #532 = Methodref #282.#243 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.interrupt:()V #533 = Methodref #282.#530 // com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.join:()V #534 = Utf8 ex #535 = Utf8 waitForTransactions #536 = NameAndType #373:#303 // remove:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #537 = Methodref #58.#536 // com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.remove:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V #538 = NameAndType #373:#492 // remove:(Ljava/lang/Object;)Ljava/lang/Object; #539 = InterfaceMethodref #441.#538 // java/util/concurrent/ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object; #540 = Utf8 first #541 = Methodref #73.#437 // java/util/Vector.size:()I #542 = NameAndType #135:#374 // get:(I)Ljava/lang/Object; #543 = Methodref #73.#542 // java/util/Vector.get:(I)Ljava/lang/Object; #544 = Utf8 com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor #545 = Class #544 // com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor #546 = Utf8 rolledBack #547 = NameAndType #546:#310 // rolledBack:(Lcom/arjuna/ats/arjuna/common/Uid;)V #548 = InterfaceMethodref #545.#547 // com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor.rolledBack:(Lcom/arjuna/ats/arjuna/common/Uid;)V #549 = Utf8 markedRollbackOnly #550 = NameAndType #549:#310 // markedRollbackOnly:(Lcom/arjuna/ats/arjuna/common/Uid;)V #551 = InterfaceMethodref #545.#550 // com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor.markedRollbackOnly:(Lcom/arjuna/ats/arjuna/common/Uid;)V #552 = Utf8 Ljava/lang/Throwable; #553 = Utf8 i #554 = Utf8 element #555 = Utf8 rollback #556 = Utf8 instantiate #557 = Utf8 TransactionReaper::instantiate() #558 = String #557 // TransactionReaper::instantiate() #559 = Utf8 com/arjuna/ats/arjuna/common/arjPropertyManager #560 = Class #559 // com/arjuna/ats/arjuna/common/arjPropertyManager #561 = Utf8 getCoordinatorEnvironmentBean #562 = Utf8 ()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; #563 = NameAndType #561:#562 // getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; #564 = Methodref #560.#563 // com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; #565 = Utf8 com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean #566 = Class #565 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean #567 = Utf8 getTxReaperMode #568 = NameAndType #567:#122 // getTxReaperMode:()Ljava/lang/String; #569 = Methodref #566.#568 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperMode:()Ljava/lang/String; #570 = Utf8 java/lang/String #571 = Class #570 // java/lang/String #572 = Utf8 compareTo #573 = Utf8 (Ljava/lang/String;)I #574 = NameAndType #572:#573 // compareTo:(Ljava/lang/String;)I #575 = Methodref #571.#574 // java/lang/String.compareTo:(Ljava/lang/String;)I #576 = Utf8 warn_coordinator_TransactionReaper_19 #577 = NameAndType #576:#54 // warn_coordinator_TransactionReaper_19:()V #578 = InterfaceMethodref #205.#577 // com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_19:()V #579 = Utf8 getTxReaperTimeout #580 = NameAndType #579:#132 // getTxReaperTimeout:()J #581 = Methodref #566.#580 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperTimeout:()J #582 = Methodref #2.#83 // com/arjuna/ats/arjuna/coordinator/TransactionReaper."":(J)V #583 = Utf8 getTxReaperCancelWaitPeriod #584 = NameAndType #583:#132 // getTxReaperCancelWaitPeriod:()J #585 = Methodref #566.#584 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperCancelWaitPeriod:()J #586 = Long 10l #588 = Utf8 getTxReaperCancelFailWaitPeriod #589 = NameAndType #588:#132 // getTxReaperCancelFailWaitPeriod:()J #590 = Methodref #566.#589 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperCancelFailWaitPeriod:()J #591 = Utf8 getTxReaperZombieMax #592 = NameAndType #591:#389 // getTxReaperZombieMax:()I #593 = Methodref #566.#592 // com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperZombieMax:()I #594 = Methodref #527.#286 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread."":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V #595 = Methodref #527.#292 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.setDaemon:(Z)V #596 = Methodref #527.#295 // com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.start:()V #597 = Utf8 mode #598 = Utf8 transactionReaper #599 = Utf8 ()Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; #600 = NameAndType #556:#54 // instantiate:()V #601 = Methodref #2.#600 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.instantiate:()V #602 = Utf8 terminate #603 = NameAndType #404:#291 // shutdown:(Z)V #604 = Methodref #2.#603 // com/arjuna/ats/arjuna/coordinator/TransactionReaper.shutdown:(Z)V #605 = Utf8 isDynamic #606 = Utf8 transactionLifetime #607 = Utf8 reset #608 = Utf8 #609 = Utf8 ConstantValue #610 = Utf8 Signature #611 = Utf8 Code #612 = Utf8 LocalVariableTable #613 = Utf8 LineNumberTable #614 = Utf8 StackMapTable #615 = Utf8 SourceFile { public static final java.lang.String NORMAL; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: String NORMAL public static final java.lang.String DYNAMIC; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: String DYNAMIC public static final java.lang.String PERIODIC; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: String PERIODIC public static final long defaultCheckPeriod; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: long 120000l public static final long defaultCancelWaitPeriod; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: long 500l public static final long defaultCancelFailWaitPeriod; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: long 500l public static final int defaultZombieMax; flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL ConstantValue: int 8 private final com.arjuna.ats.internal.arjuna.coordinator.ReaperElementManager _reaperElements; flags: ACC_PRIVATE, ACC_FINAL private final java.util.concurrent.ConcurrentMap _timeouts; flags: ACC_PRIVATE, ACC_FINAL Signature: #28 // Ljava/util/concurrent/ConcurrentMap; private final java.util.List _workQueue; flags: ACC_PRIVATE, ACC_FINAL Signature: #31 // Ljava/util/List; private final java.util.Vector _listeners; flags: ACC_PRIVATE, ACC_FINAL Signature: #34 // Ljava/util/Vector; private long _checkPeriod; flags: ACC_PRIVATE private final java.util.concurrent.atomic.AtomicLong nextDynamicCheckTime; flags: ACC_PRIVATE, ACC_FINAL private long _cancelWaitPeriod; flags: ACC_PRIVATE private long _cancelFailWaitPeriod; flags: ACC_PRIVATE private int _zombieMax; flags: ACC_PRIVATE private static volatile com.arjuna.ats.arjuna.coordinator.TransactionReaper _theReaper; flags: ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE private static com.arjuna.ats.internal.arjuna.coordinator.ReaperThread _reaperThread; flags: ACC_PRIVATE, ACC_STATIC private static com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread _reaperWorkerThread; flags: ACC_PRIVATE, ACC_STATIC private static boolean _dynamic; flags: ACC_PRIVATE, ACC_STATIC private static java.util.concurrent.atomic.AtomicLong _lifetime; flags: ACC_PRIVATE, ACC_STATIC private static int _zombieCount; flags: ACC_PRIVATE, ACC_STATIC private boolean _inShutdown; flags: ACC_PRIVATE private com.arjuna.ats.arjuna.coordinator.TransactionReaper(long); flags: ACC_PRIVATE Code: stack=5, locals=3, args_size=2 0: aload_0 1: invokespecial #56 // Method java/lang/Object."":()V 4: aload_0 5: new #58 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager 8: dup 9: invokespecial #59 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager."":()V 12: putfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 15: aload_0 16: new #63 // class java/util/concurrent/ConcurrentHashMap 19: dup 20: invokespecial #64 // Method java/util/concurrent/ConcurrentHashMap."":()V 23: putfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 26: aload_0 27: new #68 // class java/util/LinkedList 30: dup 31: invokespecial #69 // Method java/util/LinkedList."":()V 34: putfield #71 // Field _workQueue:Ljava/util/List; 37: aload_0 38: new #73 // class java/util/Vector 41: dup 42: invokespecial #74 // Method java/util/Vector."":()V 45: putfield #76 // Field _listeners:Ljava/util/Vector; 48: aload_0 49: lconst_0 50: putfield #78 // Field _checkPeriod:J 53: aload_0 54: new #80 // class java/util/concurrent/atomic/AtomicLong 57: dup 58: ldc2_w #81 // long 9223372036854775807l 61: invokespecial #84 // Method java/util/concurrent/atomic/AtomicLong."":(J)V 64: putfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 67: aload_0 68: lconst_0 69: putfield #88 // Field _cancelWaitPeriod:J 72: aload_0 73: lconst_0 74: putfield #90 // Field _cancelFailWaitPeriod:J 77: aload_0 78: iconst_0 79: putfield #92 // Field _zombieMax:I 82: aload_0 83: iconst_0 84: putfield #94 // Field _inShutdown:Z 87: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 90: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 93: ifeq 126 96: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 99: new #108 // class java/lang/StringBuilder 102: dup 103: invokespecial #109 // Method java/lang/StringBuilder."":()V 106: ldc #111 // String TransactionReaper::TransactionReaper ( 108: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 111: lload_1 112: invokevirtual #118 // Method java/lang/StringBuilder.append:(J)Ljava/lang/StringBuilder; 115: ldc #120 // String ) 117: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 120: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 123: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 126: aload_0 127: lload_1 128: putfield #78 // Field _checkPeriod:J 131: return LocalVariableTable: Start Length Slot Name Signature 0 132 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 132 1 checkPeriod J LineNumberTable: line 66: 0 line 927: 4 line 931: 15 line 933: 26 line 935: 37 line 937: 48 line 941: 53 line 948: 67 line 955: 72 line 961: 77 line 975: 82 line 67: 87 line 68: 96 line 72: 126 line 73: 131 StackMapTable: number_of_entries = 1 frame_type = 255 /* full_frame */ offset_delta = 126 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long ] stack = [] public final long checkingPeriod(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=4, locals=4, args_size=1 0: getstatic #134 // Field _dynamic:Z 3: ifeq 18 6: aload_0 7: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 10: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 13: invokestatic #142 // Method java/lang/System.currentTimeMillis:()J 16: lsub 17: lreturn 18: aload_0 19: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 22: invokevirtual #146 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.getFirst:()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 25: astore_1 26: aload_1 27: ifnull 57 30: aload_1 31: getfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 34: ifeq 57 37: aload_1 38: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 41: invokestatic #142 // Method java/lang/System.currentTimeMillis:()J 44: lsub 45: lstore_2 46: lload_2 47: aload_0 48: getfield #78 // Field _checkPeriod:J 51: lcmp 52: ifge 57 55: lload_2 56: lreturn 57: aload_0 58: getfield #78 // Field _checkPeriod:J 61: lreturn LocalVariableTable: Start Length Slot Name Signature 46 11 2 waitTime J 26 36 1 head Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 0 62 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 77: 0 line 78: 6 line 85: 18 line 86: 26 line 87: 30 line 88: 37 line 89: 46 line 90: 55 line 95: 57 StackMapTable: number_of_entries = 2 frame_type = 18 /* same */ frame_type = 252 /* append */ offset_delta = 38 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] public final void check(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=7, locals=13, args_size=1 0: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 3: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 6: ifeq 17 9: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 12: ldc #168 // String TransactionReaper::check () 14: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 17: aload_0 18: dup 19: astore_2 20: ldc #170 // String pause transaction reaper 1_2 22: aload_0 23: aconst_null 24: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 27: monitorenter 28: invokestatic #142 // Method java/lang/System.currentTimeMillis:()J 31: lstore_3 32: aload_0 33: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 36: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 39: lstore 5 41: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 44: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 47: ifeq 79 50: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 53: new #108 // class java/lang/StringBuilder 56: dup 57: invokespecial #109 // Method java/lang/StringBuilder."":()V 60: ldc #178 // String TransactionReaper::check - comparing 62: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 65: lload 5 67: invokestatic #183 // Method java/lang/Long.toString:(J)Ljava/lang/String; 70: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 73: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 76: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 79: lload_3 80: lload 5 82: lcmp 83: ifge 91 86: aload_2 87: monitorexit 88: goto 798 91: aload_0 92: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 95: invokevirtual #146 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.getFirst:()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 98: astore_1 99: aload_1 100: ifnonnull 116 103: aload_0 104: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 107: ldc2_w #81 // long 9223372036854775807l 110: invokevirtual #186 // Method java/util/concurrent/atomic/AtomicLong.set:(J)V 113: aload_2 114: monitorexit 115: return 116: aload_1 117: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 120: lstore 7 122: lload 7 124: lload_3 125: lcmp 126: ifle 141 129: aload_0 130: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 133: lload 7 135: invokevirtual #186 // Method java/util/concurrent/atomic/AtomicLong.set:(J)V 138: aload_2 139: monitorexit 140: return 141: aload_2 142: monitorexit 143: goto 153 146: astore 9 148: aload_2 149: monitorexit 150: aload 9 152: athrow 153: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 156: aload_1 157: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 160: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 165: aload_1 166: invokevirtual #203 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.statusName:()Ljava/lang/String; 169: invokeinterface #209, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_18:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V 174: aload_1 175: dup 176: astore_2 177: ldc #211 // String track next element to be processed_3 179: aload_0 180: iconst_1 181: anewarray #4 // class java/lang/Object 184: dup 185: iconst_0 186: aload_1 187: aastore 188: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 191: monitorenter 192: aload_1 193: ldc #213 // String pause transaction reaper 2_4 195: aload_0 196: aconst_null 197: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 200: getfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 203: tableswitch { // 0 to 5 0: 240 1: 336 2: 390 3: 477 4: 778 5: 778 default: 783 } 240: aload_1 241: iconst_1 242: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 245: aload_0 246: aload_1 247: aload_0 248: getfield #88 // Field _cancelWaitPeriod:J 251: invokespecial #217 // Method reinsertElement:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V 254: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 257: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 260: ifeq 296 263: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 266: new #108 // class java/lang/StringBuilder 269: dup 270: invokespecial #109 // Method java/lang/StringBuilder."":()V 273: ldc #219 // String Reaper scheduling TX for cancellation 275: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 278: aload_1 279: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 282: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 287: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 290: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 293: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 296: aload_0 297: getfield #71 // Field _workQueue:Ljava/util/List; 300: dup 301: astore_3 302: monitorenter 303: aload_0 304: getfield #71 // Field _workQueue:Ljava/util/List; 307: aload_1 308: invokeinterface #228, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 313: pop 314: aload_0 315: getfield #71 // Field _workQueue:Ljava/util/List; 318: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 321: aload_3 322: monitorexit 323: goto 333 326: astore 10 328: aload_3 329: monitorexit 330: aload 10 332: athrow 333: goto 783 336: aload_0 337: aload_1 338: aload_0 339: getfield #88 // Field _cancelWaitPeriod:J 342: invokespecial #217 // Method reinsertElement:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V 345: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 348: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 351: ifeq 783 354: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 357: new #108 // class java/lang/StringBuilder 360: dup 361: invokespecial #109 // Method java/lang/StringBuilder."":()V 364: ldc #233 // String Reaper deferring interrupt for TX scheduled for cancel 366: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 369: aload_1 370: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 373: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 378: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 381: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 384: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 387: goto 783 390: aload_1 391: iconst_3 392: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 395: aload_1 396: getfield #237 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._worker:Ljava/lang/Thread; 399: ldc #239 // String pause transaction reaper 5_5 401: aload_0 402: aconst_null 403: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 406: invokevirtual #244 // Method java/lang/Thread.interrupt:()V 409: ldc #246 // String ReaperTestCase2 flag interrupt_11 411: aload_0 412: iconst_1 413: anewarray #4 // class java/lang/Object 416: dup 417: iconst_0 418: aload_1 419: aastore 420: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 423: aload_0 424: aload_1 425: aload_0 426: getfield #90 // Field _cancelFailWaitPeriod:J 429: invokespecial #217 // Method reinsertElement:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)V 432: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 435: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 438: ifeq 783 441: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 444: new #108 // class java/lang/StringBuilder 447: dup 448: invokespecial #109 // Method java/lang/StringBuilder."":()V 451: ldc #248 // String TransactionReaper::check interrupting cancel in progress for 453: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 456: aload_1 457: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 460: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 465: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 468: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 471: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 474: goto 783 477: aload_1 478: bipush 6 480: ldc #250 // String pause transaction reaper 6_6 482: aload_0 483: aconst_null 484: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 487: ldc #252 // String pause transaction reaper 7_7 489: aload_0 490: aconst_null 491: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 494: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 497: aload_0 498: dup 499: astore_3 500: monitorenter 501: getstatic #254 // Field _zombieCount:I 504: iconst_1 505: iadd 506: putstatic #254 // Field _zombieCount:I 509: ldc_w #256 // String ReaperTestCase2 flag zombie_12 512: aload_0 513: iconst_1 514: anewarray #4 // class java/lang/Object 517: dup 518: iconst_0 519: aload_1 520: aastore 521: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 524: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 527: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 530: ifeq 604 533: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 536: new #108 // class java/lang/StringBuilder 539: dup 540: invokespecial #109 // Method java/lang/StringBuilder."":()V 543: ldc_w #258 // String Reaper 546: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 549: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 552: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 555: ldc_w #264 // String got a zombie 558: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 561: aload_1 562: getfield #237 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._worker:Ljava/lang/Thread; 565: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 568: ldc_w #266 // String (zombie count now 571: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 574: getstatic #254 // Field _zombieCount:I 577: invokevirtual #269 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 580: ldc_w #271 // String ) cancelling 583: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 586: aload_1 587: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 590: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 595: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 598: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 601: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 604: getstatic #254 // Field _zombieCount:I 607: aload_0 608: getfield #92 // Field _zombieMax:I 611: if_icmpne 628 614: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 617: getstatic #254 // Field _zombieCount:I 620: invokestatic #276 // Method java/lang/Integer.toString:(I)Ljava/lang/String; 623: invokeinterface #280, 2 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.error_coordinator_TransactionReaper_5:(Ljava/lang/String;)V 628: aload_3 629: monitorexit 630: goto 640 633: astore 11 635: aload_3 636: monitorexit 637: aload 11 639: athrow 640: new #282 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread 643: dup 644: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 647: invokespecial #287 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread."":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V 650: putstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 653: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 656: iconst_1 657: invokevirtual #293 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.setDaemon:(Z)V 660: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 663: invokevirtual #296 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.start:()V 666: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 669: aload_1 670: getfield #237 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._worker:Ljava/lang/Thread; 673: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 676: aload_1 677: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 680: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 685: invokeinterface #301, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_6:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V 690: aload_0 691: aload_1 692: invokespecial #305 // Method removeElementReaper:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 695: aload_1 696: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 699: invokeinterface #308, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.preventCommit:()Z 704: ifeq 736 707: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 710: aload_1 711: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 714: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 719: invokeinterface #312, 2 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_10:(Lcom/arjuna/ats/arjuna/common/Uid;)V 724: aload_0 725: aload_1 726: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 729: iconst_0 730: invokespecial #316 // Method notifyListeners:(Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V 733: goto 753 736: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 739: aload_1 740: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 743: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 748: invokeinterface #319, 2 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_11:(Lcom/arjuna/ats/arjuna/common/Uid;)V 753: goto 783 756: astore_3 757: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 760: aload_1 761: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 764: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 769: aload_3 770: invokeinterface #323, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_12:(Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V 775: goto 783 778: aload_0 779: aload_1 780: invokespecial #305 // Method removeElementReaper:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 783: aload_2 784: monitorexit 785: goto 795 788: astore 12 790: aload_2 791: monitorexit 792: aload 12 794: athrow 795: goto 17 798: return 799: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 802: ldc_w #329 // String caught ReturnException 805: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 808: pop 809: return 810: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 813: ldc_w #336 // String caught ThrowException 816: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 819: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 822: athrow 823: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 826: ldc_w #342 // String caught ExecuteException 829: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 832: athrow 833: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 836: ldc_w #329 // String caught ReturnException 839: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 842: pop 843: return 844: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 847: ldc_w #336 // String caught ThrowException 850: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 853: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 856: athrow 857: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 860: ldc_w #342 // String caught ExecuteException 863: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 866: athrow 867: aload_2 868: monitorexit 869: athrow 870: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 873: ldc_w #329 // String caught ReturnException 876: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 879: pop 880: return 881: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 884: ldc_w #336 // String caught ThrowException 887: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 890: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 893: athrow 894: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 897: ldc_w #342 // String caught ExecuteException 900: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 903: athrow 904: aload_2 905: monitorexit 906: athrow 907: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 910: ldc_w #329 // String caught ReturnException 913: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 916: pop 917: return 918: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 921: ldc_w #336 // String caught ThrowException 924: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 927: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 930: athrow 931: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 934: ldc_w #342 // String caught ExecuteException 937: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 940: athrow 941: aload_2 942: monitorexit 943: athrow 944: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 947: ldc_w #329 // String caught ReturnException 950: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 953: pop 954: return 955: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 958: ldc_w #336 // String caught ThrowException 961: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 964: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 967: athrow 968: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 971: ldc_w #342 // String caught ExecuteException 974: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 977: athrow 978: aload_2 979: monitorexit 980: athrow 981: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 984: ldc_w #329 // String caught ReturnException 987: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 990: pop 991: return 992: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 995: ldc_w #336 // String caught ThrowException 998: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1001: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 1004: athrow 1005: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1008: ldc_w #342 // String caught ExecuteException 1011: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1014: athrow 1015: aload_2 1016: monitorexit 1017: athrow 1018: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1021: ldc_w #329 // String caught ReturnException 1024: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1027: pop 1028: return 1029: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1032: ldc_w #336 // String caught ThrowException 1035: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1038: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 1041: athrow 1042: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1045: ldc_w #342 // String caught ExecuteException 1048: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1051: athrow 1052: aload_3 1053: monitorexit 1054: aload_2 1055: monitorexit 1056: athrow 1057: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1060: ldc_w #329 // String caught ReturnException 1063: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1066: pop 1067: return 1068: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1071: ldc_w #336 // String caught ThrowException 1074: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1077: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 1080: athrow 1081: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 1084: ldc_w #342 // String caught ExecuteException 1087: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 1090: athrow Exception table: from to target type 20 27 799 Class org/jboss/byteman/rule/exception/EarlyReturnException 20 27 810 Class org/jboss/byteman/rule/exception/ThrowException 20 27 823 Class org/jboss/byteman/rule/exception/ExecuteException 28 88 146 any 91 115 146 any 116 140 146 any 141 143 146 any 146 150 146 any 177 191 833 Class org/jboss/byteman/rule/exception/EarlyReturnException 177 191 844 Class org/jboss/byteman/rule/exception/ThrowException 177 191 857 Class org/jboss/byteman/rule/exception/ExecuteException 193 200 867 Class org/jboss/byteman/rule/exception/EarlyReturnException 193 200 867 Class org/jboss/byteman/rule/exception/ThrowException 193 200 867 Class org/jboss/byteman/rule/exception/ExecuteException 303 323 326 any 326 330 326 any 399 406 904 Class org/jboss/byteman/rule/exception/EarlyReturnException 399 406 904 Class org/jboss/byteman/rule/exception/ThrowException 399 406 904 Class org/jboss/byteman/rule/exception/ExecuteException 409 423 1015 Class org/jboss/byteman/rule/exception/EarlyReturnException 409 423 1015 Class org/jboss/byteman/rule/exception/ThrowException 409 423 1015 Class org/jboss/byteman/rule/exception/ExecuteException 480 487 941 Class org/jboss/byteman/rule/exception/EarlyReturnException 480 487 941 Class org/jboss/byteman/rule/exception/ThrowException 480 487 941 Class org/jboss/byteman/rule/exception/ExecuteException 487 494 978 Class org/jboss/byteman/rule/exception/EarlyReturnException 487 494 978 Class org/jboss/byteman/rule/exception/ThrowException 487 494 978 Class org/jboss/byteman/rule/exception/ExecuteException 509 524 1052 Class org/jboss/byteman/rule/exception/EarlyReturnException 509 524 1052 Class org/jboss/byteman/rule/exception/ThrowException 509 524 1052 Class org/jboss/byteman/rule/exception/ExecuteException 501 630 633 any 633 637 633 any 695 753 756 Class java/lang/Exception 192 785 788 any 788 792 788 any 867 870 870 Class org/jboss/byteman/rule/exception/EarlyReturnException 867 870 881 Class org/jboss/byteman/rule/exception/ThrowException 867 870 894 Class org/jboss/byteman/rule/exception/ExecuteException 904 907 907 Class org/jboss/byteman/rule/exception/EarlyReturnException 904 907 918 Class org/jboss/byteman/rule/exception/ThrowException 904 907 931 Class org/jboss/byteman/rule/exception/ExecuteException 941 944 944 Class org/jboss/byteman/rule/exception/EarlyReturnException 941 944 955 Class org/jboss/byteman/rule/exception/ThrowException 941 944 968 Class org/jboss/byteman/rule/exception/ExecuteException 978 981 981 Class org/jboss/byteman/rule/exception/EarlyReturnException 978 981 992 Class org/jboss/byteman/rule/exception/ThrowException 978 981 1005 Class org/jboss/byteman/rule/exception/ExecuteException 1015 1018 1018 Class org/jboss/byteman/rule/exception/EarlyReturnException 1015 1018 1029 Class org/jboss/byteman/rule/exception/ThrowException 1015 1018 1042 Class org/jboss/byteman/rule/exception/ExecuteException 1052 1057 1057 Class org/jboss/byteman/rule/exception/EarlyReturnException 1052 1057 1068 Class org/jboss/byteman/rule/exception/ThrowException 1052 1057 1081 Class org/jboss/byteman/rule/exception/ExecuteException LocalVariableTable: Start Length Slot Name Signature 122 19 7 nextTimeout J 32 109 3 now J 41 100 5 next J 757 18 3 e1 Ljava/lang/Exception; 99 696 1 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 0 799 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 111: 0 line 112: 9 line 118: 17 line 119: 28 line 120: 32 line 122: 41 line 123: 50 line 126: 79 line 127: 86 line 130: 91 line 133: 99 line 134: 103 line 135: 113 line 137: 116 line 138: 122 line 139: 129 line 140: 138 line 143: 141 line 145: 153 line 153: 174 line 154: 192 line 162: 240 line 164: 245 line 166: 254 line 167: 263 line 174: 296 line 175: 303 line 176: 314 line 177: 321 line 179: 333 line 193: 336 line 195: 345 line 196: 354 line 207: 390 line 209: 395 line 211: 423 line 215: 432 line 216: 441 line 228: 477 line 230: 497 line 231: 501 line 233: 524 line 234: 533 line 237: 604 line 240: 614 line 242: 628 line 244: 640 line 245: 653 line 247: 660 line 251: 666 line 260: 690 line 263: 695 line 267: 707 line 269: 724 line 273: 736 line 280: 753 line 276: 756 line 279: 757 line 282: 775 line 291: 778 line 296: 783 line 297: 795 line 299: 798 StackMapTable: number_of_entries = 56 frame_type = 17 /* same */ frame_type = 255 /* full_frame */ offset_delta = 61 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long, long ] stack = [] frame_type = 11 /* same */ frame_type = 255 /* full_frame */ offset_delta = 24 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long, long ] stack = [] frame_type = 252 /* append */ offset_delta = 24 locals = [ long ] frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 255 /* full_frame */ offset_delta = 6 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long, long, long ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 86 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long, long, long ] stack = [] frame_type = 55 /* same */ frame_type = 255 /* full_frame */ offset_delta = 29 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class java/util/List, top, long, long ] stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ frame_type = 255 /* full_frame */ offset_delta = 2 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long, long, long ] stack = [] frame_type = 53 /* same */ frame_type = 251 /* same_frame_extended */ offset_delta = 86 frame_type = 255 /* full_frame */ offset_delta = 126 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, long, long ] stack = [] frame_type = 23 /* same */ frame_type = 68 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ frame_type = 251 /* same_frame_extended */ offset_delta = 95 frame_type = 16 /* same */ frame_type = 66 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 255 /* full_frame */ offset_delta = 21 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long, long, long ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, top, top, long, long ] stack = [] frame_type = 68 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ frame_type = 255 /* full_frame */ offset_delta = 2 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long, long ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 255 /* full_frame */ offset_delta = 9 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long, long, long ] stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 255 /* full_frame */ offset_delta = 9 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, long, long ] stack = [ class java/lang/Object ] frame_type = 68 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] private void reinsertElement(com.arjuna.ats.internal.arjuna.coordinator.ReaperElement, long); flags: ACC_PRIVATE Code: stack=4, locals=8, args_size=3 0: aload_0 1: dup 2: astore 4 4: monitorenter 5: aload_0 6: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 9: aload_1 10: lload_2 11: invokevirtual #354 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.reorder:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;J)J 14: lstore 5 16: aload_0 17: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 20: lload 5 22: invokevirtual #186 // Method java/util/concurrent/atomic/AtomicLong.set:(J)V 25: aload 4 27: monitorexit 28: goto 39 31: astore 7 33: aload 4 35: monitorexit 36: aload 7 38: athrow 39: return Exception table: from to target type 5 28 31 any 31 36 31 any LocalVariableTable: Start Length Slot Name Signature 16 9 5 newWakeup J 0 40 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 40 1 e Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 0 40 2 delay J LineNumberTable: line 307: 0 line 308: 5 line 309: 16 line 310: 25 line 311: 39 StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 31 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 252 /* append */ offset_delta = 7 locals = [ long ] public final void waitForCancellations(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=4, args_size=1 0: aload_0 1: getfield #71 // Field _workQueue:Ljava/util/List; 4: dup 5: astore_1 6: monitorenter 7: aload_0 8: getfield #71 // Field _workQueue:Ljava/util/List; 11: invokeinterface #363, 1 // InterfaceMethod java/util/List.isEmpty:()Z 16: ifeq 29 19: aload_0 20: getfield #71 // Field _workQueue:Ljava/util/List; 23: invokevirtual #366 // Method java/lang/Object.wait:()V 26: goto 7 29: goto 33 32: astore_2 33: aload_1 34: monitorexit 35: goto 43 38: astore_3 39: aload_1 40: monitorexit 41: aload_3 42: athrow 43: return Exception table: from to target type 7 29 32 Class java/lang/InterruptedException 7 35 38 any 38 41 38 any LocalVariableTable: Start Length Slot Name Signature 33 0 2 e Ljava/lang/InterruptedException; 0 44 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 315: 0 line 317: 7 line 318: 19 line 322: 29 line 321: 32 line 323: 33 line 324: 43 StackMapTable: number_of_entries = 6 frame_type = 252 /* append */ offset_delta = 7 locals = [ class java/util/List ] frame_type = 21 /* same */ frame_type = 66 /* same_locals_1_stack_item */ stack = [ class java/lang/InterruptedException ] frame_type = 0 /* same */ frame_type = 68 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 4 /* same */ public final void doCancellations(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=4, locals=9, args_size=1 0: aload_0 1: getfield #71 // Field _workQueue:Ljava/util/List; 4: dup 5: astore_2 6: ldc_w #372 // String pause transaction reaper worker 1_8 9: aload_0 10: aconst_null 11: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 14: monitorenter 15: aload_0 16: getfield #71 // Field _workQueue:Ljava/util/List; 19: iconst_0 20: invokeinterface #376, 2 // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object; 25: checkcast #148 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement 28: astore_1 29: goto 38 32: astore_3 33: aload_2 34: monitorexit 35: goto 566 38: aload_2 39: monitorexit 40: goto 50 43: astore 4 45: aload_2 46: monitorexit 47: aload 4 49: athrow 50: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 53: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 56: ifeq 105 59: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 62: new #108 // class java/lang/StringBuilder 65: dup 66: invokespecial #109 // Method java/lang/StringBuilder."":()V 69: ldc_w #378 // String Reaper Worker 72: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 75: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 78: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 81: ldc_w #380 // String attempting to cancel 84: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 87: aload_1 88: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 91: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 96: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 99: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 102: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 105: iconst_0 106: istore_2 107: aconst_null 108: astore_3 109: aload_1 110: dup 111: astore 4 113: ldc_w #382 // String pause transaction reaper worker 2_9 116: aload_0 117: aconst_null 118: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 121: monitorenter 122: aload_1 123: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 126: putfield #237 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._worker:Ljava/lang/Thread; 129: aload_1 130: iconst_2 131: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 134: aload_1 135: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 138: aload 4 140: monitorexit 141: goto 152 144: astore 5 146: aload 4 148: monitorexit 149: aload 5 151: athrow 152: aload_1 153: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 156: invokeinterface #385, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.running:()Z 161: ifeq 208 164: aload_1 165: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 168: ldc_w #387 // String pause transaction reaper worker 3_10 171: aload_0 172: aconst_null 173: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 176: invokeinterface #391, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.cancel:()I 181: iconst_4 182: if_icmpne 208 185: iconst_1 186: istore_2 187: invokestatic #396 // Method com/arjuna/ats/arjuna/coordinator/TxStats.enabled:()Z 190: ifeq 199 193: invokestatic #400 // Method com/arjuna/ats/arjuna/coordinator/TxStats.getInstance:()Lcom/arjuna/ats/arjuna/coordinator/TxStats; 196: invokevirtual #403 // Method com/arjuna/ats/arjuna/coordinator/TxStats.incrementTimeouts:()V 199: aload_0 200: aload_1 201: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 204: iconst_1 205: invokespecial #316 // Method notifyListeners:(Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V 208: goto 216 211: astore 4 213: aload 4 215: astore_3 216: aload_1 217: dup 218: astore 4 220: monitorenter 221: aload_1 222: getfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 225: bipush 6 227: if_icmpne 305 230: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 233: checkcast #282 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread 236: astore 5 238: aload 5 240: invokevirtual #406 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.shutdown:()V 243: aload_0 244: dup 245: astore 6 247: monitorenter 248: getstatic #254 // Field _zombieCount:I 251: iconst_1 252: isub 253: putstatic #254 // Field _zombieCount:I 256: aload 6 258: monitorexit 259: goto 270 262: astore 7 264: aload 6 266: monitorexit 267: aload 7 269: athrow 270: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 273: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 276: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 279: aload_1 280: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 283: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 288: getstatic #254 // Field _zombieCount:I 291: invokestatic #276 // Method java/lang/Integer.toString:(I)Ljava/lang/String; 294: invokeinterface #410, 4 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_13:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/String;)V 299: aload 4 301: monitorexit 302: goto 566 305: iload_2 306: ifeq 331 309: aload_1 310: getfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 313: iconst_3 314: if_icmpne 331 317: iconst_0 318: istore_2 319: aload_1 320: iconst_4 321: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 324: aload_1 325: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 328: goto 348 331: aload_1 332: iload_2 333: ifeq 340 336: iconst_5 337: goto 341 340: iconst_4 341: putfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 344: aload_1 345: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 348: aload 4 350: monitorexit 351: goto 362 354: astore 8 356: aload 4 358: monitorexit 359: aload 8 361: athrow 362: iload_2 363: ifeq 392 366: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 369: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 372: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 375: aload_1 376: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 379: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 384: invokeinterface #413, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_7:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V 389: goto 558 392: aload_1 393: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 396: invokeinterface #385, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.running:()Z 401: ifeq 558 404: aload_3 405: ifnull 435 408: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 411: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 414: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 417: aload_1 418: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 421: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 426: aload_3 427: invokeinterface #417, 4 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_9:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V 432: goto 458 435: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 438: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 441: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 444: aload_1 445: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 448: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 453: invokeinterface #420, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_8:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V 458: aload_1 459: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 462: invokeinterface #308, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.preventCommit:()Z 467: ifeq 505 470: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 473: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 476: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 479: aload_1 480: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 483: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 488: invokeinterface #423, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_14:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V 493: aload_0 494: aload_1 495: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 498: iconst_0 499: invokespecial #316 // Method notifyListeners:(Lcom/arjuna/ats/arjuna/coordinator/Reapable;Z)V 502: goto 528 505: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 508: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 511: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 514: aload_1 515: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 518: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 523: invokeinterface #426, 3 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_15:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;)V 528: goto 558 531: astore 4 533: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 536: invokestatic #262 // Method java/lang/Thread.currentThread:()Ljava/lang/Thread; 539: invokevirtual #297 // Method java/lang/Thread.toString:()Ljava/lang/String; 542: aload_1 543: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 546: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 551: aload 4 553: invokeinterface #429, 4 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_16:(Ljava/lang/String;Lcom/arjuna/ats/arjuna/common/Uid;Ljava/lang/Throwable;)V 558: aload_0 559: aload_1 560: invokespecial #305 // Method removeElementReaper:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 563: goto 0 566: return 567: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 570: ldc_w #329 // String caught ReturnException 573: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 576: pop 577: return 578: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 581: ldc_w #336 // String caught ThrowException 584: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 587: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 590: athrow 591: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 594: ldc_w #342 // String caught ExecuteException 597: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 600: athrow 601: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 604: ldc_w #329 // String caught ReturnException 607: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 610: pop 611: return 612: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 615: ldc_w #336 // String caught ThrowException 618: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 621: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 624: athrow 625: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 628: ldc_w #342 // String caught ExecuteException 631: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 634: athrow 635: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 638: ldc_w #329 // String caught ReturnException 641: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 644: pop 645: return 646: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 649: ldc_w #336 // String caught ThrowException 652: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 655: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 658: athrow 659: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 662: ldc_w #342 // String caught ExecuteException 665: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 668: athrow Exception table: from to target type 6 14 567 Class org/jboss/byteman/rule/exception/EarlyReturnException 6 14 578 Class org/jboss/byteman/rule/exception/ThrowException 6 14 591 Class org/jboss/byteman/rule/exception/ExecuteException 15 29 32 Class java/lang/IndexOutOfBoundsException 15 35 43 any 38 40 43 any 43 47 43 any 113 121 601 Class org/jboss/byteman/rule/exception/EarlyReturnException 113 121 612 Class org/jboss/byteman/rule/exception/ThrowException 113 121 625 Class org/jboss/byteman/rule/exception/ExecuteException 122 141 144 any 144 149 144 any 168 176 635 Class org/jboss/byteman/rule/exception/EarlyReturnException 168 176 646 Class org/jboss/byteman/rule/exception/ThrowException 168 176 659 Class org/jboss/byteman/rule/exception/ExecuteException 152 208 211 Class java/lang/Exception 248 259 262 any 262 267 262 any 221 302 354 any 305 351 354 any 354 359 354 any 458 528 531 Class java/lang/Exception LocalVariableTable: Start Length Slot Name Signature 33 5 3 ioobe Ljava/lang/IndexOutOfBoundsException; 213 3 4 e1 Ljava/lang/Exception; 238 67 5 worker Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 533 25 4 e1 Ljava/lang/Exception; 29 534 1 e Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 107 456 2 cancelled Z 109 454 3 exception Ljava/lang/Exception; 0 567 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 333: 0 line 335: 15 line 339: 29 line 337: 32 line 338: 33 line 340: 38 line 345: 50 line 346: 59 line 349: 105 line 350: 107 line 352: 109 line 353: 122 line 354: 129 line 355: 134 line 356: 138 line 363: 152 line 367: 164 line 368: 185 line 370: 187 line 373: 193 line 376: 199 line 382: 208 line 380: 211 line 381: 213 line 388: 216 line 389: 221 line 396: 230 line 397: 238 line 399: 243 line 400: 248 line 401: 256 line 403: 270 line 410: 299 line 411: 305 line 417: 317 line 418: 319 line 419: 324 line 421: 331 line 424: 344 line 426: 348 line 432: 362 line 433: 366 line 435: 392 line 436: 404 line 437: 408 line 439: 435 line 444: 458 line 447: 470 line 450: 493 line 454: 505 line 462: 528 line 458: 531 line 461: 533 line 465: 558 line 466: 563 line 467: 566 StackMapTable: number_of_entries = 38 frame_type = 0 /* same */ frame_type = 255 /* full_frame */ offset_delta = 31 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class java/util/List ] stack = [ class java/lang/IndexOutOfBoundsException ] frame_type = 255 /* full_frame */ offset_delta = 5 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class java/util/List ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class java/util/List ] stack = [ class java/lang/Throwable ] frame_type = 255 /* full_frame */ offset_delta = 6 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class java/util/List ] stack = [] frame_type = 54 /* same */ frame_type = 255 /* full_frame */ offset_delta = 38 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, null, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] stack = [ class java/lang/Throwable ] frame_type = 7 /* same */ frame_type = 46 /* same */ frame_type = 8 /* same */ frame_type = 66 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, class java/lang/Exception, class java/lang/Object ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 45 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, class java/lang/Exception, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 7 /* same */ frame_type = 249 /* chop */ offset_delta = 34 frame_type = 25 /* same */ frame_type = 72 /* same_locals_1_stack_item */ stack = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, class java/lang/Exception, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] stack = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int ] frame_type = 6 /* same */ frame_type = 69 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 7 /* same */ frame_type = 29 /* same */ frame_type = 42 /* same */ frame_type = 22 /* same */ frame_type = 46 /* same */ frame_type = 22 /* same */ frame_type = 66 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 255 /* full_frame */ offset_delta = 26 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, class java/lang/Exception, class java/lang/Object ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 7 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, top, class java/lang/Object ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, top, class java/util/List ] stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 255 /* full_frame */ offset_delta = 9 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, int, null, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] public final long numberOfTransactions(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: aload_0 1: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 4: invokevirtual #438 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.size:()I 7: i2l 8: lreturn LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 477: 0 public final long numberOfTimeouts(); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=1, args_size=1 0: aload_0 1: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 4: invokeinterface #442, 1 // InterfaceMethod java/util/concurrent/ConcurrentMap.size:()I 9: i2l 10: lreturn LocalVariableTable: Start Length Slot Name Signature 0 11 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; LineNumberTable: line 488: 0 public final void addListener(com.arjuna.ats.arjuna.coordinator.listener.ReaperMonitor); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=2, args_size=2 0: aload_0 1: getfield #76 // Field _listeners:Ljava/util/Vector; 4: aload_1 5: invokevirtual #445 // Method java/util/Vector.add:(Ljava/lang/Object;)Z 8: pop 9: return LocalVariableTable: Start Length Slot Name Signature 0 10 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 10 1 listener Lcom/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor; LineNumberTable: line 493: 0 line 494: 9 public final boolean removeListener(com.arjuna.ats.arjuna.coordinator.listener.ReaperMonitor); flags: ACC_PUBLIC, ACC_FINAL Code: stack=2, locals=2, args_size=2 0: aload_0 1: getfield #76 // Field _listeners:Ljava/util/Vector; 4: aload_1 5: invokevirtual #451 // Method java/util/Vector.remove:(Ljava/lang/Object;)Z 8: ireturn LocalVariableTable: Start Length Slot Name Signature 0 9 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 9 1 listener Lcom/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor; LineNumberTable: line 498: 0 public final void insert(com.arjuna.ats.arjuna.coordinator.Reapable, int); flags: ACC_PUBLIC, ACC_FINAL Code: stack=4, locals=4, args_size=3 0: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 3: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 6: ifeq 50 9: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 12: new #108 // class java/lang/StringBuilder 15: dup 16: invokespecial #109 // Method java/lang/StringBuilder."":()V 19: ldc_w #455 // String TransactionReaper::insert ( 22: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 25: aload_1 26: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 29: ldc_w #457 // String , 32: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 35: iload_2 36: invokevirtual #269 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 39: ldc #120 // String ) 41: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 44: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 47: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 50: iload_2 51: ifne 55 54: return 55: new #148 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement 58: dup 59: aload_1 60: iload_2 61: invokespecial #459 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement."":(Lcom/arjuna/ats/arjuna/coordinator/Reapable;I)V 64: astore_3 65: getstatic #461 // Field _lifetime:Ljava/util/concurrent/atomic/AtomicLong; 68: iload_2 69: i2l 70: invokevirtual #465 // Method java/util/concurrent/atomic/AtomicLong.addAndGet:(J)J 73: pop2 74: aload_0 75: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 78: aload_3 79: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 82: aload_3 83: invokeinterface #469, 3 // InterfaceMethod java/util/concurrent/ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 88: ifnonnull 102 91: aload_0 92: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 95: aload_3 96: invokevirtual #471 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.add:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 99: goto 118 102: new #473 // class java/lang/IllegalStateException 105: dup 106: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 109: invokeinterface #476, 1 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.get_coordinator_TransactionReaper_1:()Ljava/lang/String; 114: invokespecial #478 // Method java/lang/IllegalStateException."":(Ljava/lang/String;)V 117: athrow 118: getstatic #134 // Field _dynamic:Z 121: ifeq 147 124: aload_3 125: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 128: aload_0 129: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 132: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 135: lcmp 136: ifge 147 139: aload_0 140: aload_3 141: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 144: invokespecial #481 // Method updateCheckTimeForEarlierInsert:(J)V 147: return LocalVariableTable: Start Length Slot Name Signature 0 148 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 148 1 control Lcom/arjuna/ats/arjuna/coordinator/Reapable; 0 148 2 timeout I 65 83 3 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; LineNumberTable: line 508: 0 line 509: 9 line 517: 50 line 518: 54 line 520: 55 line 522: 65 line 528: 74 line 529: 91 line 531: 102 line 534: 118 line 535: 139 line 537: 147 StackMapTable: number_of_entries = 5 frame_type = 50 /* same */ frame_type = 4 /* same */ frame_type = 252 /* append */ offset_delta = 46 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 15 /* same */ frame_type = 28 /* same */ private void updateCheckTimeForEarlierInsert(long); flags: ACC_PRIVATE Code: stack=5, locals=7, args_size=2 0: aload_0 1: dup 2: astore_3 3: monitorenter 4: aload_0 5: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 8: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 11: lstore 4 13: lload_1 14: lload 4 16: lcmp 17: ifge 52 20: aload_0 21: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 24: lload 4 26: lload_1 27: invokevirtual #487 // Method java/util/concurrent/atomic/AtomicLong.compareAndSet:(JJ)Z 30: ifeq 40 33: aload_0 34: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 37: goto 13 40: aload_0 41: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 44: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 47: lstore 4 49: goto 13 52: aload_3 53: monitorexit 54: goto 64 57: astore 6 59: aload_3 60: monitorexit 61: aload 6 63: athrow 64: return Exception table: from to target type 4 54 57 any 57 61 57 any LocalVariableTable: Start Length Slot Name Signature 13 39 4 oldCheckTime J 0 65 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 65 1 newCheckTime J LineNumberTable: line 546: 0 line 547: 4 line 548: 13 line 549: 20 line 550: 33 line 552: 40 line 555: 52 line 556: 64 StackMapTable: number_of_entries = 5 frame_type = 253 /* append */ offset_delta = 13 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long ] frame_type = 26 /* same */ frame_type = 11 /* same */ frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, long, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 252 /* append */ offset_delta = 6 locals = [ long ] public final void remove(java.lang.Object); flags: ACC_PUBLIC, ACC_FINAL Code: stack=3, locals=5, args_size=2 0: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 3: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 6: ifeq 40 9: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 12: new #108 // class java/lang/StringBuilder 15: dup 16: invokespecial #109 // Method java/lang/StringBuilder."":()V 19: ldc_w #491 // String TransactionReaper::remove ( 22: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 25: aload_1 26: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 29: ldc #120 // String ) 31: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 34: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 37: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 40: aload_1 41: ifnonnull 45 44: return 45: aload_0 46: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 49: aload_1 50: invokeinterface #494, 2 // InterfaceMethod java/util/concurrent/ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object; 55: checkcast #148 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement 58: astore_2 59: aload_2 60: ifnonnull 64 63: return 64: aload_2 65: dup 66: astore_3 67: monitorenter 68: aload_2 69: getfield #151 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._status:I 72: ifeq 78 75: aload_3 76: monitorexit 77: return 78: aload_0 79: aload_2 80: invokespecial #497 // Method removeElementClient:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 83: aload_3 84: monitorexit 85: goto 95 88: astore 4 90: aload_3 91: monitorexit 92: aload 4 94: athrow 95: return Exception table: from to target type 68 77 88 any 78 85 88 any 88 92 88 any LocalVariableTable: Start Length Slot Name Signature 0 96 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 96 1 control Ljava/lang/Object; 59 37 2 key Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; LineNumberTable: line 561: 0 line 562: 9 line 565: 40 line 566: 44 line 568: 45 line 569: 59 line 570: 63 line 581: 64 line 582: 68 line 586: 75 line 589: 78 line 590: 83 line 591: 95 StackMapTable: number_of_entries = 6 frame_type = 40 /* same */ frame_type = 4 /* same */ frame_type = 252 /* append */ offset_delta = 18 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 252 /* append */ offset_delta = 13 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 73 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ public final long getRemainingTimeoutMills(java.lang.Object); flags: ACC_PUBLIC, ACC_FINAL Code: stack=4, locals=5, args_size=2 0: aload_0 1: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 4: invokeinterface #502, 1 // InterfaceMethod java/util/concurrent/ConcurrentMap.isEmpty:()Z 9: ifne 16 12: aload_1 13: ifnonnull 59 16: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 19: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 22: ifeq 57 25: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 28: new #108 // class java/lang/StringBuilder 31: dup 32: invokespecial #109 // Method java/lang/StringBuilder."":()V 35: ldc_w #504 // String TransactionReaper::getRemainingTimeout for 38: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 41: aload_1 42: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 45: ldc_w #506 // String returning 0 48: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 51: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 54: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 57: lconst_0 58: lreturn 59: aload_0 60: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 63: aload_1 64: invokeinterface #494, 2 // InterfaceMethod java/util/concurrent/ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object; 69: checkcast #148 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement 72: astore_2 73: lconst_0 74: lstore_3 75: aload_2 76: ifnonnull 84 79: lconst_0 80: lstore_3 81: goto 93 84: aload_2 85: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 88: invokestatic #142 // Method java/lang/System.currentTimeMillis:()J 91: lsub 92: lstore_3 93: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 96: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 99: ifeq 138 102: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 105: new #108 // class java/lang/StringBuilder 108: dup 109: invokespecial #109 // Method java/lang/StringBuilder."":()V 112: ldc_w #508 // String TransactionReaper::getRemainingTimeoutMillis for 115: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 118: aload_1 119: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 122: ldc_w #510 // String returning 125: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 128: lload_3 129: invokevirtual #118 // Method java/lang/StringBuilder.append:(J)Ljava/lang/StringBuilder; 132: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 135: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 138: lload_3 139: lreturn LocalVariableTable: Start Length Slot Name Signature 0 140 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 140 1 control Ljava/lang/Object; 73 67 2 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 75 65 3 timeout J LineNumberTable: line 604: 0 line 605: 16 line 606: 25 line 610: 57 line 613: 59 line 614: 73 line 616: 75 line 617: 79 line 620: 84 line 623: 93 line 624: 102 line 627: 138 StackMapTable: number_of_entries = 6 frame_type = 16 /* same */ frame_type = 40 /* same */ frame_type = 1 /* same */ frame_type = 253 /* append */ offset_delta = 24 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, long ] frame_type = 8 /* same */ frame_type = 44 /* same */ public final int getTimeout(java.lang.Object); flags: ACC_PUBLIC, ACC_FINAL Code: stack=3, locals=4, args_size=2 0: aload_0 1: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 4: invokeinterface #502, 1 // InterfaceMethod java/util/concurrent/ConcurrentMap.isEmpty:()Z 9: ifne 16 12: aload_1 13: ifnonnull 59 16: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 19: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 22: ifeq 57 25: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 28: new #108 // class java/lang/StringBuilder 31: dup 32: invokespecial #109 // Method java/lang/StringBuilder."":()V 35: ldc_w #514 // String TransactionReaper::getTimeout for 38: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 41: aload_1 42: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 45: ldc_w #506 // String returning 0 48: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 51: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 54: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 57: iconst_0 58: ireturn 59: aload_0 60: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 63: aload_1 64: invokeinterface #494, 2 // InterfaceMethod java/util/concurrent/ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object; 69: checkcast #148 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement 72: astore_2 73: aload_2 74: ifnonnull 81 77: iconst_0 78: goto 85 81: aload_2 82: getfield #517 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._timeout:I 85: istore_3 86: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 89: new #108 // class java/lang/StringBuilder 92: dup 93: invokespecial #109 // Method java/lang/StringBuilder."":()V 96: ldc_w #514 // String TransactionReaper::getTimeout for 99: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 102: aload_1 103: invokevirtual #222 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; 106: ldc_w #510 // String returning 109: invokevirtual #115 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 112: iload_3 113: invokevirtual #269 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 116: invokevirtual #124 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 119: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 122: iload_3 123: ireturn LocalVariableTable: Start Length Slot Name Signature 0 124 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 124 1 control Ljava/lang/Object; 73 51 2 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 86 38 3 timeout I LineNumberTable: line 641: 0 line 642: 16 line 643: 25 line 647: 57 line 650: 59 line 652: 73 line 654: 86 line 656: 122 StackMapTable: number_of_entries = 5 frame_type = 16 /* same */ frame_type = 40 /* same */ frame_type = 1 /* same */ frame_type = 252 /* append */ offset_delta = 21 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 67 /* same_locals_1_stack_item */ stack = [ int ] private final void shutdown(boolean); flags: ACC_PRIVATE, ACC_FINAL Code: stack=4, locals=6, args_size=2 0: aload_0 1: dup 2: astore_2 3: monitorenter 4: aload_0 5: iconst_1 6: putfield #94 // Field _inShutdown:Z 9: iload_1 10: ifne 20 13: aload_0 14: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 17: invokevirtual #520 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.setAllTimeoutsToZero:()V 20: aload_0 21: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 24: invokevirtual #521 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.isEmpty:()Z 27: ifne 49 30: aload_0 31: ldc_w #523 // String ReaperTestCase3 unlatch reaper and reaper worker_13 34: aload_0 35: aconst_null 36: invokestatic #176 // Method org/jboss/byteman/rule/Rule.execute:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V 39: invokevirtual #366 // Method java/lang/Object.wait:()V 42: goto 20 45: astore_3 46: goto 20 49: getstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 52: invokevirtual #528 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.shutdown:()V 55: aload_0 56: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 59: aload_2 60: monitorexit 61: goto 71 64: astore 4 66: aload_2 67: monitorexit 68: aload 4 70: athrow 71: getstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 74: invokevirtual #531 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.join:()V 77: goto 81 80: astore_2 81: aconst_null 82: putstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 85: aload_0 86: getfield #71 // Field _workQueue:Ljava/util/List; 89: dup 90: astore_2 91: monitorenter 92: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 95: invokevirtual #406 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.shutdown:()V 98: aload_0 99: getfield #71 // Field _workQueue:Ljava/util/List; 102: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 105: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 108: invokevirtual #532 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.interrupt:()V 111: aload_2 112: monitorexit 113: goto 123 116: astore 5 118: aload_2 119: monitorexit 120: aload 5 122: athrow 123: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 126: invokevirtual #533 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.join:()V 129: goto 133 132: astore_2 133: aconst_null 134: putstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 137: return 138: aload_2 139: monitorexit 140: athrow 141: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 144: ldc_w #329 // String caught ReturnException 147: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 150: pop 151: return 152: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 155: ldc_w #336 // String caught ThrowException 158: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 161: invokevirtual #340 // Method org/jboss/byteman/rule/exception/ThrowException.getThrowable:()Ljava/lang/Throwable; 164: athrow 165: getstatic #327 // Field java/lang/System.out:Ljava/io/PrintStream; 168: ldc_w #342 // String caught ExecuteException 171: invokevirtual #334 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 174: athrow Exception table: from to target type 31 39 138 Class org/jboss/byteman/rule/exception/EarlyReturnException 31 39 138 Class org/jboss/byteman/rule/exception/ThrowException 31 39 138 Class org/jboss/byteman/rule/exception/ExecuteException 30 42 45 Class java/lang/Exception 4 61 64 any 64 68 64 any 71 77 80 Class java/lang/Exception 92 113 116 any 116 120 116 any 123 129 132 Class java/lang/Exception 138 141 141 Class org/jboss/byteman/rule/exception/EarlyReturnException 138 141 152 Class org/jboss/byteman/rule/exception/ThrowException 138 141 165 Class org/jboss/byteman/rule/exception/ExecuteException LocalVariableTable: Start Length Slot Name Signature 46 0 3 ex Ljava/lang/Exception; 81 0 2 ex Ljava/lang/Exception; 133 0 2 ex Ljava/lang/Exception; 0 138 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 138 1 waitForTransactions Z LineNumberTable: line 677: 0 line 678: 4 line 686: 9 line 687: 13 line 694: 20 line 696: 30 line 699: 42 line 698: 45 line 699: 46 line 702: 49 line 704: 55 line 705: 59 line 707: 71 line 710: 77 line 709: 80 line 712: 81 line 716: 85 line 717: 92 line 718: 98 line 720: 105 line 721: 111 line 724: 123 line 727: 129 line 726: 132 line 729: 133 line 730: 137 StackMapTable: number_of_entries = 15 frame_type = 252 /* append */ offset_delta = 20 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] frame_type = 88 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 3 /* same */ frame_type = 78 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ frame_type = 72 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, int, class java/lang/Object ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 34 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, int, class java/util/List ] stack = [ class java/lang/Throwable ] frame_type = 6 /* same */ frame_type = 72 /* same_locals_1_stack_item */ stack = [ class java/lang/Exception ] frame_type = 255 /* full_frame */ offset_delta = 0 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, int, class java/lang/Object ] stack = [] frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, int, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Object ] frame_type = 66 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/EarlyReturnException ] frame_type = 74 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ThrowException ] frame_type = 76 /* same_locals_1_stack_item */ stack = [ class org/jboss/byteman/rule/exception/ExecuteException ] private final void removeElementClient(com.arjuna.ats.internal.arjuna.coordinator.ReaperElement); flags: ACC_PRIVATE, ACC_FINAL Code: stack=2, locals=4, args_size=2 0: aload_0 1: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 4: aload_1 5: invokevirtual #537 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.remove:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 8: aload_0 9: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 12: aload_1 13: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 16: invokeinterface #539, 2 // InterfaceMethod java/util/concurrent/ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object; 21: pop 22: aload_0 23: getfield #94 // Field _inShutdown:Z 26: ifeq 47 29: aload_0 30: dup 31: astore_2 32: monitorenter 33: aload_0 34: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 37: aload_2 38: monitorexit 39: goto 47 42: astore_3 43: aload_2 44: monitorexit 45: aload_3 46: athrow 47: return Exception table: from to target type 33 39 42 any 42 45 42 any LocalVariableTable: Start Length Slot Name Signature 0 48 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 48 1 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; LineNumberTable: line 737: 0 line 738: 8 line 742: 22 line 743: 29 line 744: 33 line 745: 37 line 747: 47 StackMapTable: number_of_entries = 2 frame_type = 255 /* full_frame */ offset_delta = 42 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 250 /* chop */ offset_delta = 4 private final void removeElementReaper(com.arjuna.ats.internal.arjuna.coordinator.ReaperElement); flags: ACC_PRIVATE, ACC_FINAL Code: stack=3, locals=5, args_size=2 0: aload_0 1: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 4: aload_1 5: invokevirtual #537 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.remove:(Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement;)V 8: aload_0 9: getfield #66 // Field _timeouts:Ljava/util/concurrent/ConcurrentMap; 12: aload_1 13: getfield #194 // Field com/arjuna/ats/internal/arjuna/coordinator/ReaperElement._control:Lcom/arjuna/ats/arjuna/coordinator/Reapable; 16: invokeinterface #539, 2 // InterfaceMethod java/util/concurrent/ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object; 21: pop 22: aload_0 23: dup 24: astore_2 25: monitorenter 26: aload_0 27: getfield #61 // Field _reaperElements:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager; 30: invokevirtual #146 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElementManager.getFirst:()Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 33: astore_3 34: aload_3 35: ifnull 52 38: aload_0 39: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 42: aload_3 43: invokevirtual #154 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperElement.getAbsoluteTimeout:()J 46: invokevirtual #186 // Method java/util/concurrent/atomic/AtomicLong.set:(J)V 49: goto 73 52: aload_0 53: getfield #86 // Field nextDynamicCheckTime:Ljava/util/concurrent/atomic/AtomicLong; 56: ldc2_w #81 // long 9223372036854775807l 59: invokevirtual #186 // Method java/util/concurrent/atomic/AtomicLong.set:(J)V 62: aload_0 63: getfield #94 // Field _inShutdown:Z 66: ifeq 73 69: aload_0 70: invokevirtual #231 // Method java/lang/Object.notifyAll:()V 73: aload_2 74: monitorexit 75: goto 85 78: astore 4 80: aload_2 81: monitorexit 82: aload 4 84: athrow 85: return Exception table: from to target type 26 75 78 any 78 82 78 any LocalVariableTable: Start Length Slot Name Signature 34 39 3 first Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; 0 86 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 86 1 reaperElement Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperElement; LineNumberTable: line 759: 0 line 760: 8 line 762: 22 line 765: 26 line 766: 34 line 767: 38 line 769: 52 line 770: 62 line 771: 69 line 774: 73 line 775: 85 StackMapTable: number_of_entries = 4 frame_type = 253 /* append */ offset_delta = 52 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] frame_type = 20 /* same */ frame_type = 255 /* full_frame */ offset_delta = 4 locals = [ class com/arjuna/ats/arjuna/coordinator/TransactionReaper, class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement, class com/arjuna/ats/arjuna/coordinator/TransactionReaper ] stack = [ class java/lang/Throwable ] frame_type = 252 /* append */ offset_delta = 6 locals = [ class com/arjuna/ats/internal/arjuna/coordinator/ReaperElement ] private final void notifyListeners(com.arjuna.ats.arjuna.coordinator.Reapable, boolean); flags: ACC_PRIVATE, ACC_FINAL Code: stack=2, locals=5, args_size=3 0: iconst_0 1: istore_3 2: iload_3 3: aload_0 4: getfield #76 // Field _listeners:Ljava/util/Vector; 7: invokevirtual #541 // Method java/util/Vector.size:()I 10: if_icmpge 75 13: iload_2 14: ifeq 42 17: aload_0 18: getfield #76 // Field _listeners:Ljava/util/Vector; 21: iload_3 22: invokevirtual #543 // Method java/util/Vector.get:(I)Ljava/lang/Object; 25: checkcast #545 // class com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor 28: aload_1 29: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 34: invokeinterface #548, 2 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor.rolledBack:(Lcom/arjuna/ats/arjuna/common/Uid;)V 39: goto 64 42: aload_0 43: getfield #76 // Field _listeners:Ljava/util/Vector; 46: iload_3 47: invokevirtual #543 // Method java/util/Vector.get:(I)Ljava/lang/Object; 50: checkcast #545 // class com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor 53: aload_1 54: invokeinterface #200, 1 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/Reapable.get_uid:()Lcom/arjuna/ats/arjuna/common/Uid; 59: invokeinterface #551, 2 // InterfaceMethod com/arjuna/ats/arjuna/coordinator/listener/ReaperMonitor.markedRollbackOnly:(Lcom/arjuna/ats/arjuna/common/Uid;)V 64: goto 69 67: astore 4 69: iinc 3, 1 72: goto 2 75: return Exception table: from to target type 13 64 67 Class java/lang/Throwable LocalVariableTable: Start Length Slot Name Signature 69 0 4 ex Ljava/lang/Throwable; 2 73 3 i I 0 76 0 this Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 0 76 1 element Lcom/arjuna/ats/arjuna/coordinator/Reapable; 0 76 2 rollback Z LineNumberTable: line 783: 0 line 785: 13 line 786: 17 line 788: 42 line 792: 64 line 790: 67 line 783: 69 line 794: 75 StackMapTable: number_of_entries = 6 frame_type = 252 /* append */ offset_delta = 2 locals = [ int ] frame_type = 39 /* same */ frame_type = 21 /* same */ frame_type = 66 /* same_locals_1_stack_item */ stack = [ class java/lang/Throwable ] frame_type = 1 /* same */ frame_type = 5 /* same */ public static synchronized void instantiate(); flags: ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED Code: stack=4, locals=3, args_size=0 0: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 3: ifnonnull 245 6: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 9: invokevirtual #106 // Method org/jboss/logging/Logger.isTraceEnabled:()Z 12: ifeq 24 15: getstatic #100 // Field com/arjuna/ats/arjuna/logging/tsLogger.logger:Lorg/jboss/logging/Logger; 18: ldc_w #558 // String TransactionReaper::instantiate() 21: invokevirtual #128 // Method org/jboss/logging/Logger.trace:(Ljava/lang/Object;)V 24: iconst_1 25: putstatic #134 // Field _dynamic:Z 28: invokestatic #564 // Method com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; 31: invokevirtual #569 // Method com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperMode:()Ljava/lang/String; 34: astore_0 35: aload_0 36: ldc #12 // String PERIODIC 38: invokevirtual #575 // Method java/lang/String.compareTo:(Ljava/lang/String;)I 41: ifne 48 44: iconst_0 45: putstatic #134 // Field _dynamic:Z 48: aload_0 49: ldc #8 // String NORMAL 51: invokevirtual #575 // Method java/lang/String.compareTo:(Ljava/lang/String;)I 54: ifne 69 57: iconst_0 58: putstatic #134 // Field _dynamic:Z 61: getstatic #190 // Field com/arjuna/ats/arjuna/logging/tsLogger.i18NLogger:Lcom/arjuna/ats/arjuna/logging/arjunaI18NLogger; 64: invokeinterface #578, 1 // InterfaceMethod com/arjuna/ats/arjuna/logging/arjunaI18NLogger.warn_coordinator_TransactionReaper_19:()V 69: ldc2_w #81 // long 9223372036854775807l 72: lstore_1 73: getstatic #134 // Field _dynamic:Z 76: ifne 86 79: invokestatic #564 // Method com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; 82: invokevirtual #581 // Method com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperTimeout:()J 85: lstore_1 86: new #2 // class com/arjuna/ats/arjuna/coordinator/TransactionReaper 89: dup 90: lload_1 91: invokespecial #582 // Method "":(J)V 94: putstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 97: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 100: invokestatic #564 // Method com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; 103: invokevirtual #585 // Method com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperCancelWaitPeriod:()J 106: putfield #88 // Field _cancelWaitPeriod:J 109: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 112: getfield #88 // Field _cancelWaitPeriod:J 115: ldc2_w #586 // long 10l 118: lcmp 119: ifge 131 122: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 125: ldc2_w #586 // long 10l 128: putfield #88 // Field _cancelWaitPeriod:J 131: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 134: invokestatic #564 // Method com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; 137: invokevirtual #590 // Method com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperCancelFailWaitPeriod:()J 140: putfield #90 // Field _cancelFailWaitPeriod:J 143: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 146: getfield #90 // Field _cancelFailWaitPeriod:J 149: ldc2_w #586 // long 10l 152: lcmp 153: ifge 165 156: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 159: ldc2_w #586 // long 10l 162: putfield #90 // Field _cancelFailWaitPeriod:J 165: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 168: invokestatic #564 // Method com/arjuna/ats/arjuna/common/arjPropertyManager.getCoordinatorEnvironmentBean:()Lcom/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean; 171: invokevirtual #593 // Method com/arjuna/ats/arjuna/common/CoordinatorEnvironmentBean.getTxReaperZombieMax:()I 174: putfield #92 // Field _zombieMax:I 177: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 180: getfield #92 // Field _zombieMax:I 183: ifgt 193 186: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 189: iconst_1 190: putfield #92 // Field _zombieMax:I 193: new #527 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperThread 196: dup 197: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 200: invokespecial #594 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperThread."":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V 203: putstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 206: getstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 209: iconst_1 210: invokevirtual #595 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.setDaemon:(Z)V 213: new #282 // class com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread 216: dup 217: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 220: invokespecial #287 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread."":(Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper;)V 223: putstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 226: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 229: iconst_1 230: invokevirtual #293 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.setDaemon:(Z)V 233: getstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 236: invokevirtual #596 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperThread.start:()V 239: getstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 242: invokevirtual #296 // Method com/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread.start:()V 245: return LocalVariableTable: Start Length Slot Name Signature 35 210 0 mode Ljava/lang/String; 73 172 1 checkPeriod J LineNumberTable: line 802: 0 line 804: 6 line 805: 15 line 809: 24 line 811: 28 line 813: 35 line 814: 44 line 817: 48 line 818: 57 line 820: 61 line 823: 69 line 824: 73 line 825: 79 line 827: 86 line 829: 97 line 834: 109 line 835: 122 line 838: 131 line 843: 143 line 844: 156 line 847: 165 line 853: 177 line 854: 186 line 857: 193 line 860: 206 line 862: 213 line 863: 226 line 865: 233 line 867: 239 line 869: 245 StackMapTable: number_of_entries = 8 frame_type = 24 /* same */ frame_type = 252 /* append */ offset_delta = 23 locals = [ class java/lang/String ] frame_type = 20 /* same */ frame_type = 252 /* append */ offset_delta = 16 locals = [ long ] frame_type = 44 /* same */ frame_type = 33 /* same */ frame_type = 27 /* same */ frame_type = 249 /* chop */ offset_delta = 51 public static com.arjuna.ats.arjuna.coordinator.TransactionReaper transactionReaper(); flags: ACC_PUBLIC, ACC_STATIC Code: stack=1, locals=0, args_size=0 0: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 3: ifnonnull 9 6: invokestatic #601 // Method instantiate:()V 9: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 12: areturn LineNumberTable: line 879: 0 line 880: 6 line 882: 9 StackMapTable: number_of_entries = 1 frame_type = 9 /* same */ public static synchronized void terminate(boolean); flags: ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED Code: stack=2, locals=1, args_size=1 0: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 3: ifnull 17 6: getstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 9: iload_0 10: invokespecial #604 // Method shutdown:(Z)V 13: aconst_null 14: putstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 17: return LocalVariableTable: Start Length Slot Name Signature 0 18 0 waitForTransactions Z LineNumberTable: line 901: 0 line 902: 6 line 903: 13 line 905: 17 StackMapTable: number_of_entries = 1 frame_type = 17 /* same */ public static boolean isDynamic(); flags: ACC_PUBLIC, ACC_STATIC Code: stack=1, locals=0, args_size=0 0: getstatic #134 // Field _dynamic:Z 3: ireturn LineNumberTable: line 909: 0 public static synchronized long transactionLifetime(); flags: ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED Code: stack=2, locals=0, args_size=0 0: getstatic #461 // Field _lifetime:Ljava/util/concurrent/atomic/AtomicLong; 3: invokevirtual #137 // Method java/util/concurrent/atomic/AtomicLong.get:()J 6: lreturn LineNumberTable: line 914: 0 static final synchronized void reset(); flags: ACC_STATIC, ACC_FINAL, ACC_SYNCHRONIZED Code: stack=1, locals=0, args_size=0 0: aconst_null 1: putstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 4: return LineNumberTable: line 924: 0 line 925: 4 static {}; flags: ACC_STATIC Code: stack=4, locals=0, args_size=0 0: aconst_null 1: putstatic #284 // Field _theReaper:Lcom/arjuna/ats/arjuna/coordinator/TransactionReaper; 4: aconst_null 5: putstatic #525 // Field _reaperThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperThread; 8: aconst_null 9: putstatic #289 // Field _reaperWorkerThread:Lcom/arjuna/ats/internal/arjuna/coordinator/ReaperWorkerThread; 12: iconst_1 13: putstatic #134 // Field _dynamic:Z 16: new #80 // class java/util/concurrent/atomic/AtomicLong 19: dup 20: lconst_0 21: invokespecial #84 // Method java/util/concurrent/atomic/AtomicLong."":(J)V 24: putstatic #461 // Field _lifetime:Ljava/util/concurrent/atomic/AtomicLong; 27: iconst_0 28: putstatic #254 // Field _zombieCount:I 31: return LineNumberTable: line 963: 0 line 965: 4 line 967: 8 line 969: 12 line 971: 16 line 973: 27 }