1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.vm;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.transaction.Transaction;
15 import org.mule.api.transaction.TransactionException;
16 import org.mule.api.transaction.TransactionFactory;
17
18 public class VMTransactionFactory implements TransactionFactory
19 {
20 public static TransactionFactory factoryDelegate = new VMTransactionFactoryDelegate();
21
22 public Transaction beginTransaction(MuleContext muleContext) throws TransactionException
23 {
24 return factoryDelegate.beginTransaction(muleContext);
25 }
26
27 public boolean isTransacted()
28 {
29 return factoryDelegate.isTransacted();
30 }
31
32
33
34
35 public static void setFactoryDelegate(TransactionFactory factoryDelegate)
36 {
37 VMTransactionFactory.factoryDelegate = factoryDelegate;
38 }
39
40
41
42
43 static class VMTransactionFactoryDelegate implements TransactionFactory
44 {
45 public Transaction beginTransaction(MuleContext muleContext) throws TransactionException
46 {
47 VMTransaction tx = new VMTransaction(muleContext);
48 tx.begin();
49 return tx;
50 }
51
52 public boolean isTransacted()
53 {
54 return true;
55 }
56 }
57
58 }