Skip to content

Commit 8a8e17b

Browse files
royclarksonAlbertoimpl
authored andcommitted
Upgrade to Spring Boot 2.4.2
- Upgrade to Spring Cloud Open Service Broker 3.3.0 - Resolve deprecation warnings Closes #406
1 parent 8141aea commit 8a8e17b

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ cfJavaClientVersion = 4.7.0.RELEASE
99
checkstyleVersion = 8.37
1010
commonsTextVersion = 1.8
1111
immutablesVersion = 2.8.8
12-
openServiceBrokerVersion = 3.2.0
12+
openServiceBrokerVersion = 3.3.0
1313
pmdVersion = 6.29.0
14-
springBootVersion = 2.3.6.RELEASE
14+
springBootVersion = 2.4.2
1515
springCredhubVersion = 2.1.1.RELEASE
16-
springFrameworkVersion = 5.2.11.RELEASE
16+
springFrameworkVersion = 5.3.3
1717
wiremockVersion = 2.27.2

spring-cloud-app-broker-acceptance-tests/src/test/java/org/springframework/cloud/appbroker/acceptance/CloudFoundryAcceptanceTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,8 @@ protected Mono<String> manageApps(String serviceInstanceName, String serviceName
421421
.flatMap(appRoute ->
422422
webClient.get()
423423
.uri(URI.create(appRoute + "/" + operation + "/" + serviceName + "/" + planName + "/" + serviceInstanceId))
424-
.exchange()
425-
.flatMap(clientResponse -> clientResponse.toEntity(String.class))
424+
.retrieve()
425+
.toEntity(String.class)
426426
.map(HttpEntity::getBody)));
427427
}
428428

spring-cloud-app-broker-autoconfigure/src/main/java/org/springframework/cloud/appbroker/autoconfigure/ServiceInstanceLogStreamAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public WebSocketHandlerAdapter handlerAdapter() {
5959
@Bean
6060
public HandlerMapping logsHandlerMapping(StreamingLogWebSocketHandler webSocketHandler) {
6161
Map<String, WebSocketHandler> map = new HashMap<>();
62-
map.put("/logs/**/stream", webSocketHandler);
62+
map.put("/logs/**", webSocketHandler);
6363

6464
SimpleUrlHandlerMapping handlerMapping = new SimpleUrlHandlerMapping();
6565
handlerMapping.setOrder(1);

spring-cloud-app-broker-core/src/main/java/org/springframework/cloud/appbroker/service/WorkflowServiceInstanceBindingService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.springframework.cloud.servicebroker.service.ServiceInstanceBindingService;
4444
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
4545
import org.springframework.util.CollectionUtils;
46+
import org.springframework.util.ObjectUtils;
4647
import org.springframework.util.StringUtils;
4748

4849
public class WorkflowServiceInstanceBindingService implements ServiceInstanceBindingService {
@@ -139,7 +140,7 @@ private Flux<CreateServiceInstanceRouteBindingResponseBuilder> invokeRouteBindin
139140

140141
private boolean isAppBindingRequest(CreateServiceInstanceBindingRequest request) {
141142
return request.getBindResource() != null
142-
&& StringUtils.isEmpty(request.getBindResource().getRoute());
143+
&& ObjectUtils.isEmpty(request.getBindResource().getRoute());
143144
}
144145

145146
private boolean isRouteBindingRequest(CreateServiceInstanceBindingRequest request) {

spring-cloud-app-broker-logging/src/main/java/org/springframework/cloud/appbroker/logging/streaming/endpoint/StreamingLogWebSocketHandler.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import org.cloudfoundry.dropsonde.events.Envelope;
2424
import org.slf4j.Logger;
2525
import org.slf4j.LoggerFactory;
26-
import reactor.core.publisher.EmitterProcessor;
2726
import reactor.core.publisher.Mono;
27+
import reactor.core.publisher.Sinks;
2828

2929
import org.springframework.cloud.appbroker.logging.streaming.events.ServiceInstanceLogEvent;
3030
import org.springframework.cloud.appbroker.logging.streaming.events.StartServiceInstanceLoggingEvent;
@@ -43,7 +43,7 @@ public class StreamingLogWebSocketHandler implements WebSocketHandler, Applicati
4343

4444
private final ApplicationEventPublisher eventPublisher;
4545

46-
private final ConcurrentHashMap<String, EmitterProcessor<Envelope>> processors = new ConcurrentHashMap<>();
46+
private final ConcurrentHashMap<String, Sinks.One<Envelope>> envelopeSinks = new ConcurrentHashMap<>();
4747

4848
public StreamingLogWebSocketHandler(ApplicationEventPublisher eventPublisher) {
4949
this.eventPublisher = eventPublisher;
@@ -56,14 +56,14 @@ public Mono<Void> handle(WebSocketSession session) {
5656
session.getHandshakeInfo().getRemoteAddress(),
5757
serviceInstanceId);
5858

59-
EmitterProcessor<Envelope> processor = processors
60-
.computeIfAbsent(serviceInstanceId, s -> EmitterProcessor.create());
59+
Sinks.One<Envelope> envelopeSink = envelopeSinks
60+
.computeIfAbsent(serviceInstanceId, s -> Sinks.one());
6161

6262
eventPublisher.publishEvent(new StartServiceInstanceLoggingEvent(this, serviceInstanceId));
6363
LOG.info("Published event to start streaming logs for service instance with ID {}", serviceInstanceId);
6464

6565
return session
66-
.send(processor.map(envelope -> session
66+
.send(envelopeSink.asMono().map(envelope -> session
6767
.binaryMessage(dataBufferFactory -> dataBufferFactory.wrap(Envelope.ADAPTER.encode(envelope)))))
6868
.then()
6969
.doFinally(signalType -> afterConnectionClosed(session))
@@ -81,10 +81,10 @@ public void broadcastLogMessage(ServiceInstanceLogEvent event) {
8181
LOG.debug("Received event to broadcast log message for " + event.getServiceInstanceId());
8282
}
8383

84-
EmitterProcessor<Envelope> processor = this.processors.get(event.getServiceInstanceId());
85-
if (processor == null) {
84+
Sinks.One<Envelope> envelopeSink = this.envelopeSinks.get(event.getServiceInstanceId());
85+
if (envelopeSink == null) {
8686
if (LOG.isWarnEnabled()) {
87-
LOG.warn("No processor found for {}, stopping log streaming", event.getServiceInstanceId());
87+
LOG.warn("No sink found for {}, stopping log streaming", event.getServiceInstanceId());
8888
}
8989

9090
eventPublisher.publishEvent(new StopServiceInstanceLoggingEvent(this, event.getServiceInstanceId()));
@@ -96,7 +96,7 @@ public void broadcastLogMessage(ServiceInstanceLogEvent event) {
9696
LOG.debug("Sending message to client for {}", event.getServiceInstanceId());
9797
}
9898

99-
processor.onNext(event.getEnvelope());
99+
envelopeSink.tryEmitValue(event.getEnvelope());
100100
}
101101

102102
private void afterConnectionClosed(WebSocketSession webSocketSession) {
@@ -106,7 +106,7 @@ private void afterConnectionClosed(WebSocketSession webSocketSession) {
106106

107107
final String serviceInstanceId = getServiceInstanceId(webSocketSession);
108108
eventPublisher.publishEvent(new StopServiceInstanceLoggingEvent(this, serviceInstanceId));
109-
processors.computeIfPresent(serviceInstanceId, (s, envelopeEmitterProcessor) -> null);
109+
envelopeSinks.computeIfPresent(serviceInstanceId, (s, envelopeSink) -> null);
110110
}
111111

112112
private String getServiceInstanceId(WebSocketSession webSocketSession) {

0 commit comments

Comments
 (0)