类 SseEmitter

java.lang.Object
cn.taketoday.web.handler.method.ResponseBodyEmitter
cn.taketoday.web.handler.method.SseEmitter

public class SseEmitter extends ResponseBodyEmitter
A specialization of ResponseBodyEmitter for sending Server-Sent Events.
从以下版本开始:
4.0 2022/4/8 23:55
作者:
Rossen Stoyanchev, Juergen Hoeller, Sam Brannen, Harry Yang
  • 字段详细资料

    • TEXT_PLAIN

      private static final MediaType TEXT_PLAIN
    • writeLock

      private final ReentrantLock writeLock
      Guards access to write operations on the response.
  • 构造器详细资料

    • SseEmitter

      public SseEmitter()
      Create a new SseEmitter instance.
    • SseEmitter

      public SseEmitter(Long timeout)
      Create 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.

      参数:
      timeout - the timeout value in milliseconds
  • 方法详细资料

    • extendResponse

      protected void extendResponse(RequestContext outputMessage)
      从类复制的说明: ResponseBodyEmitter
      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. before the response body has been written to.

      The default implementation is empty.

      覆盖:
      extendResponse 在类中 ResponseBodyEmitter
    • send

      public void send(Object object) throws IOException
      Send 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 Javadoc for important notes on exception handling.

      覆盖:
      send 在类中 ResponseBodyEmitter
      参数:
      object - the object to write
      抛出:
      IOException - raised when an I/O error occurs
      IllegalStateException - wraps any other errors
    • send

      public void send(Object object, @Nullable MediaType mediaType) throws IOException
      Send 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 Javadoc for important notes on exception handling.

      覆盖:
      send 在类中 ResponseBodyEmitter
      参数:
      object - the object to write
      mediaType - a MediaType hint for selecting an HttpMessageConverter
      抛出:
      IOException - raised when an I/O error occurs
    • send

      public void send(SseEmitter.SseEventBuilder builder) throws IOException
      Send 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));
       
      参数:
      builder - a builder for an SSE formatted event.
      抛出:
      IOException - raised when an I/O error occurs
    • toString

      public String toString()
      覆盖:
      toString 在类中 ResponseBodyEmitter
    • event

      public static SseEmitter.SseEventBuilder event()