Commit 7b9e3bb5d5c8314a4f38fdfc8a67760d42cd3ac4

Authored by Cleverson Sacramento
1 parent c3ddf670
Exists in master

Considerando mais status da transação JTA:

https://demoiselle.atlassian.net/browse/FWK-42
impl/extension/jta/src/main/java/br/gov/frameworkdemoiselle/transaction/JTATransaction.java
@@ -37,18 +37,15 @@ @@ -37,18 +37,15 @@
37 package br.gov.frameworkdemoiselle.transaction; 37 package br.gov.frameworkdemoiselle.transaction;
38 38
39 import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L2_PRIORITY; 39 import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L2_PRIORITY;
  40 +import static javax.transaction.Status.STATUS_MARKED_ROLLBACK;
  41 +import static javax.transaction.Status.STATUS_NO_TRANSACTION;
  42 +import static javax.transaction.Status.STATUS_ROLLEDBACK;
40 43
41 -import javax.inject.Inject;  
42 -import javax.transaction.Status;  
43 import javax.transaction.SystemException; 44 import javax.transaction.SystemException;
44 import javax.transaction.UserTransaction; 45 import javax.transaction.UserTransaction;
45 46
46 -import org.slf4j.Logger;  
47 -  
48 -import br.gov.frameworkdemoiselle.annotation.Name;  
49 import br.gov.frameworkdemoiselle.annotation.Priority; 47 import br.gov.frameworkdemoiselle.annotation.Priority;
50 import br.gov.frameworkdemoiselle.util.Beans; 48 import br.gov.frameworkdemoiselle.util.Beans;
51 -import br.gov.frameworkdemoiselle.util.ResourceBundle;  
52 49
53 @Priority(EXTENSIONS_L2_PRIORITY) 50 @Priority(EXTENSIONS_L2_PRIORITY)
54 public class JTATransaction implements Transaction { 51 public class JTATransaction implements Transaction {
@@ -56,13 +53,6 @@ public class JTATransaction implements Transaction { @@ -56,13 +53,6 @@ public class JTATransaction implements Transaction {
56 private static final long serialVersionUID = 1L; 53 private static final long serialVersionUID = 1L;
57 54
58 private UserTransaction delegate; 55 private UserTransaction delegate;
59 -  
60 - @Inject  
61 - private Logger logger;  
62 -  
63 - @Inject  
64 - @Name("demoiselle-jta-bundle")  
65 - private ResourceBundle bundle;  
66 56
67 public UserTransaction getDelegate() { 57 public UserTransaction getDelegate() {
68 58
@@ -76,27 +66,7 @@ public class JTATransaction implements Transaction { @@ -76,27 +66,7 @@ public class JTATransaction implements Transaction {
76 @Override 66 @Override
77 public boolean isActive() { 67 public boolean isActive() {
78 try { 68 try {
79 - final int delegateStatus = getDelegate().getStatus();  
80 -  
81 - if (delegateStatus!=Status.STATUS_ACTIVE && delegateStatus!=Status.STATUS_NO_TRANSACTION){  
82 - //Os status mais comuns do UserTransaction são: explicitamente ativa (STATUS_ACTIVE) ou explicitamente  
83 - //desativada (STATUS_NO_TRANSACTION). Qualquer outro status "intermediário" é registrado em log para análise posterior  
84 - String status;  
85 - switch(delegateStatus){  
86 - case Status.STATUS_COMMITTED: status="COMMITTED"; break;  
87 - case Status.STATUS_COMMITTING: status="COMMITTING"; break;  
88 - case Status.STATUS_MARKED_ROLLBACK: status="MARKED_ROLLBACK"; break;  
89 - case Status.STATUS_PREPARED: status="PREPARED"; break;  
90 - case Status.STATUS_PREPARING: status="PREPARING"; break;  
91 - case Status.STATUS_ROLLEDBACK: status="ROLLEDBACK"; break;  
92 - case Status.STATUS_ROLLING_BACK: status="ROLLING_BACK"; break;  
93 - case Status.STATUS_UNKNOWN: status="UNKNOWN"; break;  
94 - default: status="UNKNOWN";  
95 - }  
96 - logger.debug(bundle.getString("usertransaction-abnormal-status",status));  
97 - }  
98 -  
99 - return delegateStatus != Status.STATUS_NO_TRANSACTION; 69 + return getDelegate().getStatus() != STATUS_NO_TRANSACTION;
100 70
101 } catch (SystemException cause) { 71 } catch (SystemException cause) {
102 throw new TransactionException(cause); 72 throw new TransactionException(cause);
@@ -106,7 +76,8 @@ public class JTATransaction implements Transaction { @@ -106,7 +76,8 @@ public class JTATransaction implements Transaction {
106 @Override 76 @Override
107 public boolean isMarkedRollback() { 77 public boolean isMarkedRollback() {
108 try { 78 try {
109 - return getDelegate().getStatus() == Status.STATUS_MARKED_ROLLBACK; 79 + return getDelegate().getStatus() == STATUS_MARKED_ROLLBACK
  80 + || getDelegate().getStatus() == STATUS_ROLLEDBACK;
110 81
111 } catch (SystemException cause) { 82 } catch (SystemException cause) {
112 throw new TransactionException(cause); 83 throw new TransactionException(cause);
impl/extension/jta/src/main/resources/demoiselle-jta-bundle.properties
@@ -32,4 +32,3 @@ @@ -32,4 +32,3 @@
32 # "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/> 32 # "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
33 # ou escreva para a Fundação do Software Livre (FSF) Inc., 33 # ou escreva para a Fundação do Software Livre (FSF) Inc.,
34 # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. 34 # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
35 -usertransaction-abnormal-status=UserTransaction encontra-se em status anormal\: {0}  
36 \ No newline at end of file 35 \ No newline at end of file