AbstractPoller now has a setTransactionDefinition method instead of individual setters.
This commit is contained in:
@@ -138,10 +138,7 @@ public abstract class AbstractEndpoint implements MessageEndpoint, ChannelRegist
|
||||
poller.setTransactionManager(this.transactionManager);
|
||||
}
|
||||
if (this.transactionDefinition != null) {
|
||||
poller.setPropagationBehavior(this.transactionDefinition.getPropagationBehavior());
|
||||
poller.setIsolationLevel(this.transactionDefinition.getIsolationLevel());
|
||||
poller.setTransactionReadOnly(this.transactionDefinition.isReadOnly());
|
||||
poller.setTransactionTimeout(this.transactionDefinition.getTimeout());
|
||||
poller.setTransactionDefinition(this.transactionDefinition);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.springframework.core.task.TaskExecutor;
|
||||
import org.springframework.integration.scheduling.SchedulableTask;
|
||||
import org.springframework.integration.scheduling.Trigger;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||
import org.springframework.transaction.support.TransactionCallback;
|
||||
@@ -45,16 +46,10 @@ public abstract class AbstractPoller implements SchedulableTask, InitializingBea
|
||||
|
||||
private volatile PlatformTransactionManager transactionManager;
|
||||
|
||||
private volatile TransactionDefinition transactionDefinition;
|
||||
|
||||
private volatile TransactionTemplate transactionTemplate;
|
||||
|
||||
private volatile int propagationBehavior = DefaultTransactionDefinition.PROPAGATION_REQUIRED;
|
||||
|
||||
private volatile int isolationLevel = DefaultTransactionDefinition.ISOLATION_DEFAULT;
|
||||
|
||||
private volatile int transactionTimeout = DefaultTransactionDefinition.TIMEOUT_DEFAULT;
|
||||
|
||||
private volatile boolean readOnly = false;
|
||||
|
||||
private volatile boolean initialized;
|
||||
|
||||
private final Object initializationMonitor = new Object();
|
||||
@@ -96,20 +91,8 @@ public abstract class AbstractPoller implements SchedulableTask, InitializingBea
|
||||
this.transactionManager = transactionManager;
|
||||
}
|
||||
|
||||
public void setPropagationBehavior(int propagationBehavior) {
|
||||
this.propagationBehavior = propagationBehavior;
|
||||
}
|
||||
|
||||
public void setIsolationLevel(int isolationLevel) {
|
||||
this.isolationLevel = isolationLevel;
|
||||
}
|
||||
|
||||
public void setTransactionTimeout(int transactionTimeout) {
|
||||
this.transactionTimeout = transactionTimeout;
|
||||
}
|
||||
|
||||
public void setTransactionReadOnly(boolean readOnly) {
|
||||
this.readOnly = readOnly;
|
||||
public void setTransactionDefinition(TransactionDefinition transactionDefinition) {
|
||||
this.transactionDefinition = transactionDefinition;
|
||||
}
|
||||
|
||||
private TransactionTemplate getTransactionTemplate() {
|
||||
@@ -125,12 +108,11 @@ public abstract class AbstractPoller implements SchedulableTask, InitializingBea
|
||||
return;
|
||||
}
|
||||
if (this.transactionManager != null) {
|
||||
TransactionTemplate template = new TransactionTemplate(this.transactionManager);
|
||||
template.setPropagationBehavior(this.propagationBehavior);
|
||||
template.setIsolationLevel(this.isolationLevel);
|
||||
template.setTimeout(this.transactionTimeout);
|
||||
template.setReadOnly(this.readOnly);
|
||||
this.transactionTemplate = template;
|
||||
if (this.transactionDefinition == null) {
|
||||
this.transactionDefinition = new DefaultTransactionDefinition();
|
||||
}
|
||||
this.transactionTemplate = new TransactionTemplate(
|
||||
this.transactionManager, this.transactionDefinition);
|
||||
}
|
||||
this.initialized = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user