Browse Source

Deprecate TransactionCallbackWithoutResult

Closes gh-35606
pull/35608/head
Juergen Hoeller 2 months ago
parent
commit
080bca0b23
  1. 30
      spring-jms/src/test/java/org/springframework/jms/connection/JmsTransactionManagerTests.java
  2. 13
      spring-orm/src/test/java/org/springframework/orm/jpa/JpaTransactionManagerTests.java
  3. 4
      spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallbackWithoutResult.java

30
spring-jms/src/test/java/org/springframework/jms/connection/JmsTransactionManagerTests.java

@ -33,7 +33,6 @@ import org.springframework.transaction.TransactionDefinition; @@ -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 { @@ -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 { @@ -153,15 +148,12 @@ class JmsTransactionManagerTests {
return null;
});
TransactionTemplate tt = new TransactionTemplate(tm);
tt.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
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 { @@ -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 { @@ -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;

13
spring-orm/src/test/java/org/springframework/orm/jpa/JpaTransactionManagerTests.java

@ -28,9 +28,7 @@ import org.junit.jupiter.api.Test; @@ -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 { @@ -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 { @@ -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) {
tt.executeWithoutResult(status -> {
assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue();
status.flush();
}
});
assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse();

4
spring-tx/src/main/java/org/springframework/transaction/support/TransactionCallbackWithoutResult.java

@ -16,6 +16,8 @@ @@ -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; @@ -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

Loading…
Cancel
Save