use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.
the class StatementProcessor method registerActiveStatement.
protected void registerActiveStatement(Statement s) throws SQLException {
ITransaction tx = ITransaction.CURRENT.get();
if (tx == null) {
return;
}
ITransactionMember member = tx.getMember(getCallerService().getTransactionMemberId());
if (member instanceof AbstractSqlTransactionMember) {
((AbstractSqlTransactionMember) member).registerActiveStatement(s);
}
}
use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.
the class StatementProcessor method unregisterActiveStatement.
protected void unregisterActiveStatement(Statement s) {
ITransaction tx = ITransaction.CURRENT.get();
if (tx == null) {
return;
}
ITransactionMember member = tx.getMember(getCallerService().getTransactionMemberId());
if (member instanceof AbstractSqlTransactionMember) {
((AbstractSqlTransactionMember) member).unregisterActiveStatement(s);
}
}
use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.
the class JmsMomImplementor method publishTransactional.
protected <DTO> void publishTransactional(final IDestination<DTO> destination, final DTO transferObject, final PublishInput input) throws JMSException {
final ITransaction currentTransaction = assertNotNull(ITransaction.CURRENT.get(), "Transaction required for transactional messaging");
// Register transaction member for transacted publishing.
final JmsTransactionMember txMember = currentTransaction.registerMemberIfAbsent(m_momUid, new IFunction<String, JmsTransactionMember>() {
@Override
public JmsTransactionMember apply(final String memberId) {
try {
return BEANS.get(JmsTransactionMember.class).withMemberId(memberId).withSessionProvider(createSessionProvider(destination, true)).withAutoClose(// close upon transaction end
true);
} catch (final JMSException e) {
throw BEANS.get(DefaultRuntimeExceptionTranslator.class).translate(e);
}
}
});
// Publish the message
send(txMember.getSessionProvider(), destination, transferObject, input);
}
use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.
the class ServerTestRunnerDifferentSessionTest method test2.
@Test
public void test2() {
ISession serverSession = IServerSession.CURRENT.get();
assertTrue(serverSession instanceof JUnitServerSession1);
assertEquals("anna", serverSession.getUserId());
m_serverSessions.add(serverSession);
ITransaction transaction = ITransaction.CURRENT.get();
assertNotNull(transaction);
m_transactions.add(transaction);
}
use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.
the class ServerTestRunnerDifferentSessionTest method test1.
@Test
public void test1() {
ISession serverSession = IServerSession.CURRENT.get();
assertTrue(serverSession instanceof JUnitServerSession1);
assertEquals("anna", serverSession.getUserId());
m_serverSessions.add(serverSession);
ITransaction transaction = ITransaction.CURRENT.get();
assertNotNull(transaction);
m_transactions.add(transaction);
}
Aggregations