Skip to content

Commit 080bca0

Browse files
committed
Deprecate TransactionCallbackWithoutResult
Closes gh-35606
1 parent 8b36736 commit 080bca0

File tree

3 files changed

+20
-41
lines changed

3 files changed

+20
-41
lines changed

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

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import org.springframework.transaction.TransactionStatus;
3434
import org.springframework.transaction.UnexpectedRollbackException;
3535
import org.springframework.transaction.support.DefaultTransactionDefinition;
36-
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
3736
import org.springframework.transaction.support.TransactionSynchronizationManager;
3837
import org.springframework.transaction.support.TransactionTemplate;
3938

@@ -120,15 +119,11 @@ void testParticipatingTransactionWithCommit() throws JMSException {
120119
return null;
121120
});
122121
TransactionTemplate tt = new TransactionTemplate(tm);
123-
tt.execute(new TransactionCallbackWithoutResult() {
124-
@Override
125-
protected void doInTransactionWithoutResult(TransactionStatus status) {
122+
tt.execute(status ->
126123
jt.execute((SessionCallback<Void>) sess -> {
127124
assertThat(session).isSameAs(sess);
128125
return null;
129-
});
130-
}
131-
});
126+
}));
132127
tm.commit(ts);
133128

134129
verify(session).commit();
@@ -153,15 +148,12 @@ void testParticipatingTransactionWithRollbackOnly() throws JMSException {
153148
return null;
154149
});
155150
TransactionTemplate tt = new TransactionTemplate(tm);
156-
tt.execute(new TransactionCallbackWithoutResult() {
157-
@Override
158-
protected void doInTransactionWithoutResult(TransactionStatus status) {
159-
jt.execute((SessionCallback<Void>) sess -> {
160-
assertThat(session).isSameAs(sess);
161-
return null;
162-
});
163-
status.setRollbackOnly();
164-
}
151+
tt.executeWithoutResult(status -> {
152+
jt.execute((SessionCallback<Void>) sess -> {
153+
assertThat(session).isSameAs(sess);
154+
return null;
155+
});
156+
status.setRollbackOnly();
165157
});
166158
assertThatExceptionOfType(UnexpectedRollbackException.class).isThrownBy(() ->
167159
tm.commit(ts));
@@ -191,15 +183,11 @@ void testSuspendedTransaction() throws JMSException {
191183
});
192184
TransactionTemplate tt = new TransactionTemplate(tm);
193185
tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_NOT_SUPPORTED);
194-
tt.execute(new TransactionCallbackWithoutResult() {
195-
@Override
196-
protected void doInTransactionWithoutResult(TransactionStatus status) {
186+
tt.execute(status ->
197187
jt.execute((SessionCallback<Void>) sess -> {
198188
assertThat(session).isNotSameAs(sess);
199189
return null;
200-
});
201-
}
202-
});
190+
}));
203191
jt.execute((SessionCallback<Void>) sess -> {
204192
assertThat(session).isSameAs(sess);
205193
return null;
@@ -231,15 +219,11 @@ void testTransactionSuspension() throws JMSException {
231219
});
232220
TransactionTemplate tt = new TransactionTemplate(tm);
233221
tt.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
234-
tt.execute(new TransactionCallbackWithoutResult() {
235-
@Override
236-
protected void doInTransactionWithoutResult(TransactionStatus status) {
222+
tt.execute(status ->
237223
jt.execute((SessionCallback<Void>) sess -> {
238224
assertThat(session).isNotSameAs(sess);
239225
return null;
240-
});
241-
}
242-
});
226+
}));
243227
jt.execute((SessionCallback<Void>) sess -> {
244228
assertThat(session).isSameAs(sess);
245229
return null;

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

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828

2929
import org.springframework.transaction.InvalidIsolationLevelException;
3030
import org.springframework.transaction.TransactionDefinition;
31-
import org.springframework.transaction.TransactionStatus;
3231
import org.springframework.transaction.TransactionSystemException;
33-
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
3432
import org.springframework.transaction.support.TransactionSynchronization;
3533
import org.springframework.transaction.support.TransactionSynchronizationManager;
3634
import org.springframework.transaction.support.TransactionTemplate;
@@ -583,11 +581,7 @@ void testInvalidIsolation() {
583581
tt.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE);
584582

585583
assertThatExceptionOfType(InvalidIsolationLevelException.class).isThrownBy(() ->
586-
tt.execute(new TransactionCallbackWithoutResult() {
587-
@Override
588-
protected void doInTransactionWithoutResult(TransactionStatus status) {
589-
}
590-
}));
584+
tt.executeWithoutResult(status -> {}));
591585

592586
verify(manager).close();
593587
}
@@ -597,12 +591,9 @@ void testTransactionFlush() {
597591
assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse();
598592
assertThat(TransactionSynchronizationManager.isSynchronizationActive()).isFalse();
599593

600-
tt.execute(new TransactionCallbackWithoutResult() {
601-
@Override
602-
public void doInTransactionWithoutResult(TransactionStatus status) {
603-
assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue();
604-
status.flush();
605-
}
594+
tt.executeWithoutResult(status -> {
595+
assertThat(TransactionSynchronizationManager.hasResource(factory)).isTrue();
596+
status.flush();
606597
});
607598

608599
assertThat(TransactionSynchronizationManager.hasResource(factory)).isFalse();

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.transaction.support;
1818

19+
import java.util.function.Consumer;
20+
1921
import org.jspecify.annotations.Nullable;
2022

2123
import org.springframework.transaction.TransactionStatus;
@@ -28,7 +30,9 @@
2830
* @author Juergen Hoeller
2931
* @since 28.03.2003
3032
* @see TransactionTemplate
33+
* @deprecated as of 7.0, superseded by {@link TransactionOperations#executeWithoutResult(Consumer)}
3134
*/
35+
@Deprecated(since = "7.0")
3236
public abstract class TransactionCallbackWithoutResult implements TransactionCallback<@Nullable Object> {
3337

3438
@Override

0 commit comments

Comments
 (0)