mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-17 08:24:13 +00:00
Deprecate TransactionCallbackWithoutResult
Closes gh-35606
This commit is contained in:
+12
-28
@@ -33,7 +33,6 @@ import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.UnexpectedRollbackException;
|
||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
import org.springframework.transaction.support.TransactionTemplate;
|
||||
|
||||
@@ -120,15 +119,11 @@ class JmsTransactionManagerTests {
|
||||
return null;
|
||||
});
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
tt.execute(status ->
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isSameAs(sess);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
});
|
||||
}));
|
||||
tm.commit(ts);
|
||||
|
||||
verify(session).commit();
|
||||
@@ -153,15 +148,12 @@ class JmsTransactionManagerTests {
|
||||
return null;
|
||||
});
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isSameAs(sess);
|
||||
return null;
|
||||
});
|
||||
status.setRollbackOnly();
|
||||
}
|
||||
tt.executeWithoutResult(status -> {
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isSameAs(sess);
|
||||
return null;
|
||||
});
|
||||
status.setRollbackOnly();
|
||||
});
|
||||
assertThatExceptionOfType(UnexpectedRollbackException.class).isThrownBy(() ->
|
||||
tm.commit(ts));
|
||||
@@ -191,15 +183,11 @@ class JmsTransactionManagerTests {
|
||||
});
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_NOT_SUPPORTED);
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
tt.execute(status ->
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isNotSameAs(sess);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
});
|
||||
}));
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isSameAs(sess);
|
||||
return null;
|
||||
@@ -231,15 +219,11 @@ class JmsTransactionManagerTests {
|
||||
});
|
||||
TransactionTemplate tt = new TransactionTemplate(tm);
|
||||
tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
tt.execute(status ->
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isNotSameAs(sess);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
});
|
||||
}));
|
||||
jt.execute((SessionCallback<Void>) sess -> {
|
||||
assertThat(session).isSameAs(sess);
|
||||
return null;
|
||||
|
||||
+4
-13
@@ -28,9 +28,7 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.transaction.InvalidIsolationLevelException;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.TransactionSystemException;
|
||||
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
|
||||
import org.springframework.transaction.support.TransactionSynchronization;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
import org.springframework.transaction.support.TransactionTemplate;
|
||||
@@ -583,11 +581,7 @@ class JpaTransactionManagerTests {
|
||||
tt.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE);
|
||||
|
||||
assertThatExceptionOfType(InvalidIsolationLevelException.class).isThrownBy(() ->
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
protected void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
}
|
||||
}));
|
||||
tt.executeWithoutResult(status -> {}));
|
||||
|
||||
verify(manager).close();
|
||||
}
|
||||
@@ -597,12 +591,9 @@ class JpaTransactionManagerTests {
|
||||
assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse();
|
||||
assertThat(TransactionSynchronizationManager.isSynchronizationActive()).isFalse();
|
||||
|
||||
tt.execute(new TransactionCallbackWithoutResult() {
|
||||
@Override
|
||||
public void doInTransactionWithoutResult(TransactionStatus status) {
|
||||
assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue();
|
||||
status.flush();
|
||||
}
|
||||
tt.executeWithoutResult(status -> {
|
||||
assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue();
|
||||
status.flush();
|
||||
});
|
||||
|
||||
assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse();
|
||||
|
||||
+4
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.transaction.support;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
@@ -28,7 +30,9 @@ import org.springframework.transaction.TransactionStatus;
|
||||
* @author Juergen Hoeller
|
||||
* @since 28.03.2003
|
||||
* @see TransactionTemplate
|
||||
* @deprecated as of 7.0, superseded by {@link TransactionOperations#executeWithoutResult(Consumer)}
|
||||
*/
|
||||
@Deprecated(since = "7.0")
|
||||
public abstract class TransactionCallbackWithoutResult implements TransactionCallback<@Nullable Object> {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user