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