Commit 7b9e3bb5d5c8314a4f38fdfc8a67760d42cd3ac4
1 parent
c3ddf670
Exists in
master
Considerando mais status da transação JTA:
https://demoiselle.atlassian.net/browse/FWK-42
Showing
2 changed files
with
6 additions
and
36 deletions
Show diff stats
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 |