Skip to content

Commit 673f83e

Browse files
committed
Adapt to API changes in the latest reactor snapshot
1 parent 93b53da commit 673f83e

File tree

5 files changed

+25
-23
lines changed

5 files changed

+25
-23
lines changed

spring-r2dbc/src/test/java/org/springframework/r2dbc/connection/lookup/AbstractRoutingConnectionFactoryUnitTests.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void shouldDetermineRoutedFactory() {
6363
connectionFactory.afterPropertiesSet();
6464

6565
connectionFactory.determineTargetConnectionFactory()
66-
.subscriberContext(Context.of(ROUTING_KEY, "key"))
66+
.contextWrite(Context.of(ROUTING_KEY, "key"))
6767
.as(StepVerifier::create)
6868
.expectNext(routedConnectionFactory)
6969
.verifyComplete();
@@ -109,7 +109,7 @@ public void unresolvableConnectionFactoryRetrievalShouldFail() {
109109
connectionFactory.afterPropertiesSet();
110110

111111
connectionFactory.determineTargetConnectionFactory()
112-
.subscriberContext(Context.of(ROUTING_KEY, "unknown"))
112+
.contextWrite(Context.of(ROUTING_KEY, "unknown"))
113113
.as(StepVerifier::create)
114114
.verifyError(IllegalStateException.class);
115115
}
@@ -122,7 +122,7 @@ public void connectionFactoryRetrievalWithUnknownLookupKeyShouldReturnDefaultCon
122122
connectionFactory.afterPropertiesSet();
123123

124124
connectionFactory.determineTargetConnectionFactory()
125-
.subscriberContext(Context.of(ROUTING_KEY, "unknown"))
125+
.contextWrite(Context.of(ROUTING_KEY, "unknown"))
126126
.as(StepVerifier::create)
127127
.expectNext(defaultConnectionFactory)
128128
.verifyComplete();
@@ -153,7 +153,7 @@ public void shouldLookupFromMap() {
153153
connectionFactory.afterPropertiesSet();
154154

155155
connectionFactory.determineTargetConnectionFactory()
156-
.subscriberContext(Context.of(ROUTING_KEY, "my-key"))
156+
.contextWrite(Context.of(ROUTING_KEY, "my-key"))
157157
.as(StepVerifier::create)
158158
.expectNext(routedConnectionFactory)
159159
.verifyComplete();
@@ -168,7 +168,7 @@ public void shouldAllowModificationsAfterInitialization() {
168168
connectionFactory.afterPropertiesSet();
169169

170170
connectionFactory.determineTargetConnectionFactory()
171-
.subscriberContext(Context.of(ROUTING_KEY, "lookup-key"))
171+
.contextWrite(Context.of(ROUTING_KEY, "lookup-key"))
172172
.as(StepVerifier::create)
173173
.expectNext(defaultConnectionFactory)
174174
.verifyComplete();
@@ -177,7 +177,7 @@ public void shouldAllowModificationsAfterInitialization() {
177177
connectionFactory.afterPropertiesSet();
178178

179179
connectionFactory.determineTargetConnectionFactory()
180-
.subscriberContext(Context.of(ROUTING_KEY, "lookup-key"))
180+
.contextWrite(Context.of(ROUTING_KEY, "lookup-key"))
181181
.as(StepVerifier::create)
182182
.expectNext(routedConnectionFactory)
183183
.verifyComplete();
@@ -187,8 +187,12 @@ static class DummyRoutingConnectionFactory extends AbstractRoutingConnectionFact
187187

188188
@Override
189189
protected Mono<Object> determineCurrentLookupKey() {
190-
return Mono.subscriberContext().filter(context -> context.hasKey(ROUTING_KEY))
191-
.map(context -> context.get(ROUTING_KEY));
190+
return Mono.deferContextual(context -> {
191+
if (context.hasKey(ROUTING_KEY)) {
192+
return Mono.just(context.get(ROUTING_KEY));
193+
}
194+
return Mono.empty();
195+
});
192196
}
193197
}
194198

spring-tx/src/main/java/org/springframework/transaction/interceptor/TransactionAspectSupport.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -887,8 +887,8 @@ public Object invokeWithinTransaction(Method method, @Nullable Class<?> targetCl
887887
// target invocation exception
888888
return completeTransactionAfterThrowing(it, ex).then(Mono.error(ex));
889889
}
890-
})).subscriberContext(TransactionContextManager.getOrCreateContext())
891-
.subscriberContext(TransactionContextManager.getOrCreateContextHolder());
890+
})).contextWrite(TransactionContextManager.getOrCreateContext())
891+
.contextWrite(TransactionContextManager.getOrCreateContextHolder());
892892
}
893893

894894
// Any other reactive type, typically a Flux
@@ -917,8 +917,8 @@ public Object invokeWithinTransaction(Method method, @Nullable Class<?> targetCl
917917
// target invocation exception
918918
return completeTransactionAfterThrowing(it, ex).then(Mono.error(ex));
919919
}
920-
})).subscriberContext(TransactionContextManager.getOrCreateContext())
921-
.subscriberContext(TransactionContextManager.getOrCreateContextHolder()));
920+
})).contextWrite(TransactionContextManager.getOrCreateContext())
921+
.contextWrite(TransactionContextManager.getOrCreateContextHolder()));
922922
}
923923

924924
@SuppressWarnings("serial")

spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionContextManager.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,17 @@ private TransactionContextManager() {
5050
* or no context found in a holder
5151
*/
5252
public static Mono<TransactionContext> currentContext() throws NoTransactionException {
53-
return Mono.subscriberContext().handle((ctx, sink) -> {
53+
return Mono.deferContextual(ctx -> {
5454
if (ctx.hasKey(TransactionContext.class)) {
55-
sink.next(ctx.get(TransactionContext.class));
56-
return;
55+
return Mono.just(ctx.get(TransactionContext.class));
5756
}
5857
if (ctx.hasKey(TransactionContextHolder.class)) {
5958
TransactionContextHolder holder = ctx.get(TransactionContextHolder.class);
6059
if (holder.hasContext()) {
61-
sink.next(holder.currentContext());
62-
return;
60+
return Mono.just(holder.currentContext());
6361
}
6462
}
65-
sink.error(new NoTransactionInContextException());
63+
return Mono.error(new NoTransactionInContextException());
6664
});
6765
}
6866

spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ public <T> Mono<T> transactional(Mono<T> mono) {
8282
this.transactionManager::commit, (res, err) -> Mono.empty(), this.transactionManager::rollback)
8383
.onErrorResume(ex -> rollbackOnException(it, ex).then(Mono.error(ex))));
8484
})
85-
.subscriberContext(TransactionContextManager.getOrCreateContext())
86-
.subscriberContext(TransactionContextManager.getOrCreateContextHolder());
85+
.contextWrite(TransactionContextManager.getOrCreateContext())
86+
.contextWrite(TransactionContextManager.getOrCreateContextHolder());
8787
}
8888

8989
@Override
@@ -104,8 +104,8 @@ public <T> Flux<T> execute(TransactionCallback<T> action) throws TransactionExce
104104
.onErrorResume(ex ->
105105
rollbackOnException(it, ex).then(Mono.error(ex))));
106106
})
107-
.subscriberContext(TransactionContextManager.getOrCreateContext())
108-
.subscriberContext(TransactionContextManager.getOrCreateContextHolder());
107+
.contextWrite(TransactionContextManager.getOrCreateContext())
108+
.contextWrite(TransactionContextManager.getOrCreateContextHolder());
109109
}
110110

111111
/**

spring-web/src/main/java/org/springframework/web/filter/reactive/ServerWebExchangeContextFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class ServerWebExchangeContextFilter implements WebFilter {
4747
@Override
4848
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
4949
return chain.filter(exchange)
50-
.subscriberContext(cxt -> cxt.put(EXCHANGE_CONTEXT_ATTRIBUTE, exchange));
50+
.contextWrite(cxt -> cxt.put(EXCHANGE_CONTEXT_ATTRIBUTE, exchange));
5151
}
5252

5353

0 commit comments

Comments
 (0)