|
16 | 16 |
|
17 | 17 | package org.springframework.boot.jta.narayana; |
18 | 18 |
|
19 | | -import com.arjuna.ats.arjuna.recovery.RecoveryManager; |
20 | | -import com.arjuna.ats.arjuna.recovery.RecoveryModule; |
21 | 19 | import com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule; |
22 | 20 | import com.arjuna.ats.jbossatx.jta.RecoveryManagerService; |
23 | 21 | import com.arjuna.ats.jta.recovery.XAResourceRecoveryHelper; |
@@ -53,20 +51,17 @@ public void destroy() throws Exception { |
53 | 51 | this.recoveryManagerService.destroy(); |
54 | 52 | } |
55 | 53 |
|
56 | | - void registerXAResourceRecoveryHelper( |
57 | | - XAResourceRecoveryHelper xaResourceRecoveryHelper) { |
58 | | - getXARecoveryModule(RecoveryManager.manager()) |
59 | | - .addXAResourceRecoveryHelper(xaResourceRecoveryHelper); |
| 54 | + void registerXAResourceRecoveryHelper(XAResourceRecoveryHelper xaResourceRecoveryHelper) { |
| 55 | + getXARecoveryModule().addXAResourceRecoveryHelper(xaResourceRecoveryHelper); |
60 | 56 | } |
61 | 57 |
|
62 | | - private XARecoveryModule getXARecoveryModule(RecoveryManager recoveryManager) { |
63 | | - for (RecoveryModule recoveryModule : recoveryManager.getModules()) { |
64 | | - if (recoveryModule instanceof XARecoveryModule) { |
65 | | - return (XARecoveryModule) recoveryModule; |
66 | | - } |
| 58 | + private XARecoveryModule getXARecoveryModule() { |
| 59 | + XARecoveryModule xaRecoveryModule = XARecoveryModule.getRegisteredXARecoveryModule(); |
| 60 | + if (xaRecoveryModule == null) { |
| 61 | + throw new IllegalStateException( |
| 62 | + "XARecoveryModule is not registered with recovery manager"); |
67 | 63 | } |
68 | | - throw new IllegalStateException( |
69 | | - "XARecoveryModule is not registered with recovery manager"); |
| 64 | + return xaRecoveryModule; |
70 | 65 | } |
71 | 66 |
|
72 | 67 | } |
0 commit comments