diff --git a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaAfterCompletionSynchronization.java b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaAfterCompletionSynchronization.java
index ecbb2a100dcb1f4c8cf299c30331c23627c0e14d..f2801c2b9c276606667d68060f46f93e41bf568e 100644
--- a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaAfterCompletionSynchronization.java
+++ b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaAfterCompletionSynchronization.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2006 the original author or authors.
+ * Copyright 2002-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@
package org.springframework.transaction.jta;
import java.util.List;
-
import javax.transaction.Status;
import javax.transaction.Synchronization;
@@ -25,16 +24,19 @@ import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationUtils;
/**
- * Adapter for a JTA Synchronization, invoking the afterCompletion
of
- * Spring TransactionSynchronizations after the outer JTA transaction has completed.
+ * Adapter for a JTA Synchronization, invoking the afterCommit
/
+ * afterCompletion
callbacks of Spring {@link TransactionSynchronization}
+ * objects callbacks after the outer JTA transaction has completed.
* Applied when participating in an existing (non-Spring) JTA transaction.
*
* @author Juergen Hoeller
* @since 2.0
+ * @see TransactionSynchronization#afterCommit
+ * @see TransactionSynchronization#afterCompletion
*/
public class JtaAfterCompletionSynchronization implements Synchronization {
- private final List synchronizations;
+ private final List synchronizations;
/**
@@ -42,7 +44,7 @@ public class JtaAfterCompletionSynchronization implements Synchronization {
* @param synchronizations the List of TransactionSynchronization objects
* @see org.springframework.transaction.support.TransactionSynchronization
*/
- public JtaAfterCompletionSynchronization(List synchronizations) {
+ public JtaAfterCompletionSynchronization(List synchronizations) {
this.synchronizations = synchronizations;
}
diff --git a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java
index 6f777cfec0c454de43ff14faa9fe728e198e6869..11eb94425521fb97ced0db6ac8ce8e566dcd6142 100644
--- a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java
+++ b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/JtaTransactionManager.java
@@ -141,7 +141,6 @@ import org.springframework.util.StringUtils;
* @see #setUserTransaction
* @see #setTransactionManagerName
* @see #setTransactionManager
- * @see JotmFactoryBean
* @see WebLogicJtaTransactionManager
*/
public class JtaTransactionManager extends AbstractPlatformTransactionManager
@@ -256,9 +255,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
* A default one is used if not set.
*/
public void setJndiTemplate(JndiTemplate jndiTemplate) {
- if (jndiTemplate == null) {
- throw new IllegalArgumentException("jndiTemplate must not be null");
- }
+ Assert.notNull(jndiTemplate, "JndiTemplate must not be null");
this.jndiTemplate = jndiTemplate;
}
@@ -560,7 +557,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
if (logger.isDebugEnabled()) {
logger.debug("Retrieving JTA UserTransaction from JNDI location [" + userTransactionName + "]");
}
- return (UserTransaction) getJndiTemplate().lookup(userTransactionName, UserTransaction.class);
+ return getJndiTemplate().lookup(userTransactionName, UserTransaction.class);
}
catch (NamingException ex) {
throw new TransactionSystemException(
@@ -584,7 +581,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
if (logger.isDebugEnabled()) {
logger.debug("Retrieving JTA TransactionManager from JNDI location [" + transactionManagerName + "]");
}
- return (TransactionManager) getJndiTemplate().lookup(transactionManagerName, TransactionManager.class);
+ return getJndiTemplate().lookup(transactionManagerName, TransactionManager.class);
}
catch (NamingException ex) {
throw new TransactionSystemException(
@@ -608,7 +605,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
if (logger.isDebugEnabled()) {
logger.debug("Retrieving JTA TransactionSynchronizationRegistry from JNDI location [" + registryName + "]");
}
- Class registryClass = ClassUtils.forName(TRANSACTION_SYNCHRONIZATION_REGISTRY_CLASS_NAME,
+ Class> registryClass = ClassUtils.forName(TRANSACTION_SYNCHRONIZATION_REGISTRY_CLASS_NAME,
JtaTransactionManager.class.getClassLoader());
return getJndiTemplate().lookup(registryName, registryClass);
}
@@ -669,7 +666,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
protected UserTransaction findUserTransaction() {
String jndiName = DEFAULT_USER_TRANSACTION_NAME;
try {
- UserTransaction ut = (UserTransaction) getJndiTemplate().lookup(jndiName, UserTransaction.class);
+ UserTransaction ut = getJndiTemplate().lookup(jndiName, UserTransaction.class);
if (logger.isDebugEnabled()) {
logger.debug("JTA UserTransaction found at default JNDI location [" + jndiName + "]");
}
@@ -701,10 +698,9 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
}
// Check fallback JNDI locations.
- for (int i = 0; i < FALLBACK_TRANSACTION_MANAGER_NAMES.length; i++) {
- String jndiName = FALLBACK_TRANSACTION_MANAGER_NAMES[i];
+ for (String jndiName : FALLBACK_TRANSACTION_MANAGER_NAMES) {
try {
- TransactionManager tm = (TransactionManager) getJndiTemplate().lookup(jndiName, TransactionManager.class);
+ TransactionManager tm = getJndiTemplate().lookup(jndiName, TransactionManager.class);
if (logger.isDebugEnabled()) {
logger.debug("JTA TransactionManager found at fallback JNDI location [" + jndiName + "]");
}
@@ -736,7 +732,7 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
throws TransactionSystemException {
try {
- Class registryClass = ClassUtils.forName(TRANSACTION_SYNCHRONIZATION_REGISTRY_CLASS_NAME,
+ Class> registryClass = ClassUtils.forName(TRANSACTION_SYNCHRONIZATION_REGISTRY_CLASS_NAME,
JtaTransactionManager.class.getClassLoader());
// If we came here, we might be on Java EE 5, since the JTA 1.1 API is present.
@@ -1100,7 +1096,9 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
@Override
- protected void registerAfterCompletionWithExistingTransaction(Object transaction, List synchronizations) {
+ protected void registerAfterCompletionWithExistingTransaction(
+ Object transaction, List synchronizations) {
+
JtaTransactionObject txObject = (JtaTransactionObject) transaction;
logger.debug("Registering after-completion synchronization with existing JTA transaction");
try {
@@ -1141,7 +1139,8 @@ public class JtaTransactionManager extends AbstractPlatformTransactionManager
* @see javax.transaction.Transaction#registerSynchronization
* @see javax.transaction.TransactionSynchronizationRegistry#registerInterposedSynchronization
*/
- protected void doRegisterAfterCompletionWithJtaTransaction(JtaTransactionObject txObject, List synchronizations)
+ protected void doRegisterAfterCompletionWithJtaTransaction(
+ JtaTransactionObject txObject, List synchronizations)
throws RollbackException, SystemException {
int jtaStatus = txObject.getUserTransaction().getStatus();
diff --git a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java
index aed7d9db01744c78ede9e6bdebe227c68be3dd1d..c2ab31d37e5e1418095f7233c6fb1fafa5705642 100644
--- a/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java
+++ b/org.springframework.transaction/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java
@@ -35,6 +35,7 @@ import org.springframework.transaction.support.CallbackPreferringPlatformTransac
import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.transaction.support.DefaultTransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
+import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.ReflectionUtils;
@@ -170,7 +171,9 @@ public class WebSphereUowTransactionManager extends JtaTransactionManager
* Registers the synchronizations as interposed JTA Synchronization on the UOWManager.
*/
@Override
- protected void doRegisterAfterCompletionWithJtaTransaction(JtaTransactionObject txObject, List synchronizations) {
+ protected void doRegisterAfterCompletionWithJtaTransaction(
+ JtaTransactionObject txObject, List synchronizations) {
+
this.uowManager.registerInterposedSynchronization(new JtaAfterCompletionSynchronization(synchronizations));
}
@@ -328,7 +331,7 @@ public class WebSphereUowTransactionManager extends JtaTransactionManager
}
triggerBeforeCompletion(status);
if (status.isNewSynchronization()) {
- List synchronizations = TransactionSynchronizationManager.getSynchronizations();
+ List synchronizations = TransactionSynchronizationManager.getSynchronizations();
TransactionSynchronizationManager.clear();
uowManager.registerInterposedSynchronization(new JtaAfterCompletionSynchronization(synchronizations));
}