Skip to content

Commit ef3e309

Browse files
committed
Adjust timeout in Spring MVC for reactive streaming
Issue: SPR-15669
1 parent 53e8ebe commit ef3e309

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ReactiveTypeHandler.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@
7070
*/
7171
class ReactiveTypeHandler {
7272

73+
private static final long STREAMING_TIMEOUT_VALUE = -1;
74+
75+
7376
private static Log logger = LogFactory.getLog(ReactiveTypeHandler.class);
7477

7578
private final ReactiveAdapterRegistry reactiveRegistry;
@@ -126,7 +129,7 @@ public ResponseBodyEmitter handleValue(Object returnValue, MethodParameter retur
126129
if (adapter.isMultiValue()) {
127130
if (mediaTypes.stream().anyMatch(MediaType.TEXT_EVENT_STREAM::includes) ||
128131
ServerSentEvent.class.isAssignableFrom(elementClass)) {
129-
SseEmitter emitter = new SseEmitter();
132+
SseEmitter emitter = new SseEmitter(STREAMING_TIMEOUT_VALUE);
130133
new SseEmitterSubscriber(emitter, this.taskExecutor).connect(adapter, returnValue);
131134
return emitter;
132135
}
@@ -162,7 +165,7 @@ private Collection<MediaType> getMediaTypes(NativeWebRequest request)
162165
}
163166

164167
private ResponseBodyEmitter getEmitter(MediaType mediaType) {
165-
return new ResponseBodyEmitter() {
168+
return new ResponseBodyEmitter(STREAMING_TIMEOUT_VALUE) {
166169
@Override
167170
protected void extendResponse(ServerHttpResponse outputMessage) {
168171
outputMessage.getHeaders().setContentType(mediaType);

0 commit comments

Comments
 (0)