1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule#getRegisteredXARecoveryModule 注册恢复模块 com.arjuna.ats.arjuna.recovery.RecoveryManager#manager com.arjuna.ats.arjuna.recovery.RecoveryManager#manager com.arjuna.ats.arjuna.common.recoveryPropertyManager#getRecoveryEnvironmentBean 反射创建 RecoveryEnvironmentBean 配置信息实例 com.arjuna.common.internal.util.propertyservice.BeanPopulator#getDefaultInstance com.arjuna.ats.internal.arjuna.recovery.RecActivatorLoader#loadRecoveryActivators 加载 RecoveryActivators com.arjuna.ats.arjuna.common.recoveryPropertyManager#getRecoveryEnvironmentBean com.arjuna.ats.internal.arjuna.recovery.RecActivatorLoader#startRecoveryActivators 启动 RecoveryActivators com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery#initialise 初始化 PeriodicRecovery com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery#setStatus 设置恢复状态 INACTIVE com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery#setMode 设置恢复mode ENABLED internal.arjuna.recovery.PeriodicRecovery#loadModules 加载恢复模块,module包括: 1.com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule 2.com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean#getRecoveryModules com.arjuna.common.internal.util.ClassloadingUtility#loadAndInstantiateClassesWithInit 反射实例化并初始化 上面的 AtomicActionRecoveryModule 和 XARecoveryModule com.arjuna.common.internal.util.ClassloadingUtility#loadAndInstantiateClass 1.反射实例化 AtomicActionRecoveryModule com.arjuna.ats.arjuna.objectstore.StoreManager#getRecoveryStore AtomicActionRecoveryModule 构造方法里初始化 storeManager com.arjuna.ats.arjuna.objectstore.StoreManager#getActionStore com.arjuna.ats.arjuna.objectstore.StoreManager#initStore com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean#getObjectStoreType 获取存储类型,此处是文件存储 com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore com.arjuna.common.internal.util.ClassloadingUtility#loadAndInstantiateClass 实例化存储,此处是 com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore->父类ShadowingStore->父类FileSystemStore->父类 ObjectStore com.arjuna.ats.arjuna.recovery.TransactionStatusConnectionManager#updateTSMI 从文件路径中恢复事务存储信息 com.arjuna.common.internal.util.ClassloadingUtility#loadAndInstantiateClass 2.反射实例化 XARecoveryModule com.arjuna.common.internal.util.ClassloadingUtility#loadClass com.arjuna.ats.arjuna.objectstore.StoreManager#getRecoveryStore com.arjuna.ats.jta.common.JTAEnvironmentBean#getXaResourceOrphanFilters com.arjuna.ats.internal.jta.Implementations#initialise com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor#startUp com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor#initialise
|