Class SseEmitter
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitter
org.springframework.web.servlet.mvc.method.annotation.SseEmitter
A specialization of 
ResponseBodyEmitter for sending
 Server-Sent Events.- Since:
- 4.2
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen, Brian Clozel
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceA builder for an SSE event.Nested classes/interfaces inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterResponseBodyEmitter.DataWithMediaType
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a new SseEmitter instance.SseEmitter(Long timeout) Create a SseEmitter with a custom timeout value.
- 
Method SummaryModifier and TypeMethodDescriptionstatic SseEmitter.SseEventBuilderevent()protected voidextendResponse(ServerHttpResponse outputMessage) Invoked after the response is updated with the status code and headers, if the ResponseBodyEmitter is wrapped in a ResponseEntity, but before the response is committed, i.e.voidSend the object formatted as a single SSE "data" line.voidSend the object formatted as a single SSE "data" line.voidsend(SseEmitter.SseEventBuilder builder) Send an SSE event prepared with the given builder.toString()Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmittercomplete, completeWithError, getTimeout, onCompletion, onError, onTimeout, send
- 
Constructor Details- 
SseEmitterpublic SseEmitter()Create a new SseEmitter instance.
- 
SseEmitterCreate a SseEmitter with a custom timeout value.By default not set in which case the default configured in the MVC Java Config or the MVC namespace is used, or if that's not set, then the timeout depends on the default of the underlying server. - Parameters:
- timeout- the timeout value in milliseconds
- Since:
- 4.2.2
 
 
- 
- 
Method Details- 
extendResponseDescription copied from class:ResponseBodyEmitterInvoked after the response is updated with the status code and headers, if the ResponseBodyEmitter is wrapped in a ResponseEntity, but before the response is committed, i.e. before the response body has been written to.The default implementation is empty. - Overrides:
- extendResponsein class- ResponseBodyEmitter
 
- 
sendSend the object formatted as a single SSE "data" line. It's equivalent to:// static import of SseEmitter.* SseEmitter emitter = new SseEmitter(); emitter.send(event().data(myObject)); Please, see parent Javadocfor important notes on exception handling.- Overrides:
- sendin class- ResponseBodyEmitter
- Parameters:
- object- the object to write
- Throws:
- IOException- raised when an I/O error occurs
- IllegalStateException- wraps any other errors
 
- 
sendSend the object formatted as a single SSE "data" line. It's equivalent to:// static import of SseEmitter.* SseEmitter emitter = new SseEmitter(); emitter.send(event().data(myObject, MediaType.APPLICATION_JSON)); Please, see parent Javadocfor important notes on exception handling.- Overrides:
- sendin class- ResponseBodyEmitter
- Parameters:
- object- the object to write
- mediaType- a MediaType hint for selecting an HttpMessageConverter
- Throws:
- IOException- raised when an I/O error occurs
 
- 
sendSend an SSE event prepared with the given builder. For example:// static import of SseEmitter SseEmitter emitter = new SseEmitter(); emitter.send(event().name("update").id("1").data(myObject));- Parameters:
- builder- a builder for an SSE formatted event.
- Throws:
- IOException- raised when an I/O error occurs
 
- 
toString- Overrides:
- toStringin class- ResponseBodyEmitter
 
- 
event
 
-