@Override public void start(StartContext context) throws StartException { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(LastResource.class.getName()); // recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(Collections.singletonList(nodeIdentifier)); // setup the XA orphan filters if (useActionStatusServiceRecoveryFilter) { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName(), JTAActionStatusServiceXAResourceOrphanFilter.class.getName())); } else { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName())); } jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(new com.arjuna.ats.internal.jbossatx.jta.XAResourceRecordWrappingPluginImpl()); jtaEnvironmentBean.setTransactionManagerJNDIContext("java:jboss/TransactionManager"); jtaEnvironmentBean.setTransactionSynchronizationRegistryJNDIContext("java:jboss/TransactionSynchronizationRegistry"); jtaEnvironmentBean.setUserTransactionOperationsProviderClassName(LocalUserTransactionOperationsProvider.class.getName()); }
@Override public void stop(StopContext context) { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); // reset the XA orphan filters jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(null); // reset the recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(null); // reset the record wrapper plugin jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(null); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(null); }
/** * If orphan filters were not set by property manager, then set defaults {@link #DEFAULT_ORPHAN_FILTERS}. */ private void initOrphanFilters() { if (!jtaPropertyManager.getJTAEnvironmentBean().getXaResourceOrphanFilterClassNames().isEmpty()) { return; } LOGGER.fine("Orphan filters were not enabled. Enabling default filters: " + DEFAULT_ORPHAN_FILTERS); jtaPropertyManager.getJTAEnvironmentBean().setXaResourceOrphanFilterClassNames(DEFAULT_ORPHAN_FILTERS); }
@Override public void start(StartContext context) throws StartException { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(LastResource.class.getName()); // recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(Collections.singletonList(nodeIdentifier)); // setup the XA orphan filters if (useActionStatusServiceRecoveryFilter) { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName(), JTAActionStatusServiceXAResourceOrphanFilter.class.getName())); } else { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName())); } jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(new com.arjuna.ats.internal.jbossatx.jta.XAResourceRecordWrappingPluginImpl()); jtaEnvironmentBean.setTransactionManagerJNDIContext("java:jboss/TransactionManager"); jtaEnvironmentBean.setTransactionSynchronizationRegistryJNDIContext("java:jboss/TransactionSynchronizationRegistry"); jtaEnvironmentBean.setUserTransactionOperationsProviderClassName(LocalUserTransactionOperationsProvider.class.getName()); }
@Override public void start(StartContext context) throws StartException { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(LastResource.class.getName()); // recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(Collections.singletonList(nodeIdentifier)); // setup the XA orphan filters if (useActionStatusServiceRecoveryFilter) { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName(), JTAActionStatusServiceXAResourceOrphanFilter.class.getName())); } else { jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(Arrays.asList(JTATransactionLogXAResourceOrphanFilter.class.getName(), JTANodeNameXAResourceOrphanFilter.class.getName(), SubordinateJTAXAResourceOrphanFilter.class.getName(), SubordinationManagerXAResourceOrphanFilter.class.getName())); } jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(new com.arjuna.ats.internal.jbossatx.jta.XAResourceRecordWrappingPluginImpl()); jtaEnvironmentBean.setTransactionManagerJNDIContext("java:jboss/TransactionManager"); jtaEnvironmentBean.setTransactionSynchronizationRegistryJNDIContext("java:jboss/TransactionSynchronizationRegistry"); jtaEnvironmentBean.setUserTransactionOperationsProviderClassName(LocalUserTransactionOperationsProvider.class.getName()); }
@Override public void stop(StopContext context) { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); // reset the XA orphan filters jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(null); // reset the recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(null); // reset the record wrapper plugin jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(null); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(null); }
@Override public void stop(StopContext context) { final JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager.getJTAEnvironmentBean(); // reset the XA orphan filters jtaEnvironmentBean.setXaResourceOrphanFilterClassNames(null); // reset the recovery nodes jtaEnvironmentBean.setXaRecoveryNodes(null); // reset the record wrapper plugin jtaEnvironmentBean.setXAResourceRecordWrappingPlugin(null); jtaEnvironmentBean.setLastResourceOptimisationInterfaceClassName(null); }
@Before public void setUp() { RecoveryEnvironmentBean recoveryEnvironmentBean = recoveryPropertyManager .getRecoveryEnvironmentBean(); recoveryEnvironmentBean .setRecoveryModuleClassNames(Arrays .asList(new String[] { "com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule", "com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule" })); JTAEnvironmentBean jtaEnvironmentBean = jtaPropertyManager .getJTAEnvironmentBean(); jtaEnvironmentBean .setXaResourceRecoveryClassNames(Arrays .asList(new String[] { "com.hp.mwtests.ts.jta.recovery.TestXAResourceRecovery" })); jtaEnvironmentBean .setXaResourceOrphanFilterClassNames(Arrays .asList(new String[] { "com.arjuna.ats.internal.jta.recovery.arjunacore.JTATransactionLogXAResourceOrphanFilter", "com.arjuna.ats.internal.jta.recovery.arjunacore.JTANodeNameXAResourceOrphanFilter" })); jtaEnvironmentBean.setXaRecoveryNodes(Arrays .asList(new String[] { "1" })); }
filters.add(JTANodeNameXAResourceOrphanFilter.class.getName()); jtaPropertyManager.getJTAEnvironmentBean() .setXaResourceOrphanFilterClassNames(filters);