public WSBAHandler(ServiceInvocationMeta serviceInvocationMeta, CompletionType completionType) throws TXFrameworkException { this.serviceInvocationMeta = serviceInvocationMeta; try { BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager(); if (completionType == CompletionType.COORDINATOR) { WSBACoordinatorCompletionParticipant coordinatorCompletionParticipant = new WSBACoordinatorCompletionParticipant(serviceInvocationMeta, new HashMap()); participantManager = businessActivityManager.enlistForBusinessAgreementWithCoordinatorCompletion(coordinatorCompletionParticipant, serviceInvocationMeta.getServiceClass().getName() + UUID.randomUUID()); participant = coordinatorCompletionParticipant; } else { WSBAParticipantCompletionParticipant participantCompletionParticipant = new WSBAParticipantCompletionParticipant(serviceInvocationMeta, new HashMap()); participantManager = businessActivityManager.enlistForBusinessAgreementWithParticipantCompletion(participantCompletionParticipant, serviceInvocationMeta.getServiceClass().getName() + UUID.randomUUID()); participant = participantCompletionParticipant; } } catch (WrongStateException e) { throw new ParticipantRegistrationException("Transaction was not in a state in which participants can be registered", e); } catch (UnknownTransactionException e) { throw new ParticipantRegistrationException("Can't register a participant as the transaction in unknown", e); } catch (SystemException e) { throw new ParticipantRegistrationException("A SystemException occurred when attempting to register a participant", e); } WSBATxControlImpl.resume(participantManager); }
private static String getCurrentTXID() throws TXFrameworkException { String txid; //Try WS-AT txid = UserTransactionFactory.userTransaction().transactionIdentifier(); if (!txid.equals("Unknown")) { return txid; } //Try WS-BA try { BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager(); if (businessActivityManager.currentTransaction() != null) { txid = businessActivityManager.currentTransaction().toString(); if (!txid.equals("Unknown")) { return txid; } } } catch (SystemException e) { throw new TXFrameworkException("Error when looking up Business Activity", e); } //Try REST-AT HttpServletRequest req = ResteasyProviderFactory.getContextData(HttpServletRequest.class); String enlistUrl = req.getHeader("enlistURL"); if (enlistUrl != null) { String[] parts = enlistUrl.split("/"); return parts[parts.length - 1]; } throw new TXFrameworkException("No Transaction detected"); }
/** * Suspend the current transaction. */ protected void suspendTransaction() { try { /* * There should either be an Atomic Transaction *or* a Business Activity * associated with the thread. */ final TransactionManager transactionManager = TransactionManagerFactory.transactionManager() ; final BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ; if (transactionManager != null) { transactionManager.suspend() ; } if (businessActivityManager != null) { businessActivityManager.suspend() ; } } catch (final Throwable th) { wstxLogger.i18NLogger.warn_mw_wst11_service_JaxHC11P_1("com.arjuna.mw.wst11.service.JaxBaseHeaderContextProcessor.suspendTransaction()", th); } }
/** * Suspend the current transaction. */ protected void suspendTransaction() { try { /* * There should either be an Atomic Transaction *or* a Business Activity * associated with the thread. */ final TransactionManager transactionManager = TransactionManagerFactory.transactionManager() ; final BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ; if (transactionManager != null) { transactionManager.suspend() ; } if (businessActivityManager != null) { businessActivityManager.suspend() ; } } catch (final Throwable th) { wstxLogger.i18NLogger.warn_mw_wst11_service_JaxHC11P_1("com.arjuna.mw.wst11.service.JaxBaseHeaderContextProcessor.suspendTransaction()", th); } }
BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
txContext = com.arjuna.mwlabs.wst11.ba.SubordinateImporter.importContext(cc); BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
txContext = com.arjuna.mwlabs.wst11.ba.SubordinateImporter.importContext(cc); BusinessActivityManagerFactory.businessActivityManager().resume(txContext) ;
final com.arjuna.mw.wst11.BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ;
final com.arjuna.mw.wst11.BusinessActivityManager businessActivityManager = BusinessActivityManagerFactory.businessActivityManager() ;