1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.ibatis.sqlmap.engine.transaction.external;
17
18 import com.ibatis.sqlmap.engine.transaction.BaseTransactionConfig;
19 import com.ibatis.sqlmap.engine.transaction.Transaction;
20 import com.ibatis.sqlmap.engine.transaction.TransactionException;
21
22 import java.sql.SQLException;
23 import java.util.Properties;
24
25
26
27
28 public class ExternalTransactionConfig extends BaseTransactionConfig {
29
30
31 private boolean defaultAutoCommit = false;
32
33
34 private boolean setAutoCommitAllowed = true;
35
36 @Override
37 public Transaction newTransaction(int transactionIsolation) throws SQLException, TransactionException {
38 return new ExternalTransaction(dataSource, defaultAutoCommit, setAutoCommitAllowed, transactionIsolation);
39 }
40
41
42
43
44
45
46 public boolean isDefaultAutoCommit() {
47 return defaultAutoCommit;
48 }
49
50
51
52
53
54
55
56 public void setDefaultAutoCommit(boolean defaultAutoCommit) {
57 this.defaultAutoCommit = defaultAutoCommit;
58 }
59
60
61
62
63
64
65 public boolean isSetAutoCommitAllowed() {
66 return setAutoCommitAllowed;
67 }
68
69
70
71
72
73
74
75 public void setSetAutoCommitAllowed(boolean setAutoCommitAllowed) {
76 this.setAutoCommitAllowed = setAutoCommitAllowed;
77 }
78
79 @Override
80 public void setProperties(Properties props) throws SQLException, TransactionException {
81 String dacProp = props.getProperty("DefaultAutoCommit");
82 String sacaProp = props.getProperty("SetAutoCommitAllowed");
83 defaultAutoCommit = "true".equals(dacProp);
84 setAutoCommitAllowed = "true".equals(sacaProp) || sacaProp == null;
85 }
86
87 }