类 WebSocketChannelInterceptor

java.lang.Object
cn.herodotus.engine.message.websocket.interceptor.WebSocketChannelInterceptor
所有已实现的接口:
org.springframework.messaging.support.ChannelInterceptor

public class WebSocketChannelInterceptor extends Object implements org.springframework.messaging.support.ChannelInterceptor

Description: Websocket消息监听

用于监听websocket用户连接情况

作者:
: gengwei.zheng
Date:
: 2021/10/24 18:50
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    afterReceiveCompletion(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, Exception ex)
    1.
    void
    afterSendCompletion(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, boolean sent, Exception ex)
    1.
    org.springframework.messaging.Message<?>
    postReceive(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel)
    在检索到消息之后,返回调用方之前调用,可以进行信息修改。
    void
    postSend(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, boolean sent)
    在消息发送后立刻调用
    boolean
    preReceive(org.springframework.messaging.MessageChannel channel)
    在消息被实际检索之前调用, 只适用于(PollableChannels, 轮询场景),在websocket的场景中用不到
    org.springframework.messaging.Message<?>
    preSend(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel)
    在消息发送之前调用,方法中可以对消息进行修改,如果此方法返回值为空,则不会发生实际的消息发送调用

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • WebSocketChannelInterceptor

      public WebSocketChannelInterceptor()
  • 方法详细资料

    • preSend

      public org.springframework.messaging.Message<?> preSend(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel)
      在消息发送之前调用,方法中可以对消息进行修改,如果此方法返回值为空,则不会发生实际的消息发送调用
      指定者:
      preSend 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      message - Message
      channel - MessageChannel
      返回:
      Message
    • postSend

      public void postSend(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, boolean sent)
      在消息发送后立刻调用
      指定者:
      postSend 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      message - Message
      channel - MessageChannel
      sent - boolean值参数表示该调用的返回值
    • afterSendCompletion

      public void afterSendCompletion(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, boolean sent, Exception ex)
      1. 在消息发送完成后调用,而不管消息发送是否产生异常,在此方法中,我们可以做一些资源释放清理的工作 2. 此方法的触发必须是preSend方法执行成功,且返回值不为null,发生了实际的消息推送,才会触发
      指定者:
      afterSendCompletion 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      message - Message
      channel - MessageChannel
      sent - boolean值参数表示该调用的返回值
      ex - 失败时抛出的 HerodotusException
    • preReceive

      public boolean preReceive(org.springframework.messaging.MessageChannel channel)
      在消息被实际检索之前调用, 只适用于(PollableChannels, 轮询场景),在websocket的场景中用不到
      指定者:
      preReceive 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      channel - channel MessageChannel
      返回:
      如果返回false, 则不会对检索任何消息
    • postReceive

      public org.springframework.messaging.Message<?> postReceive(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel)
      在检索到消息之后,返回调用方之前调用,可以进行信息修改。适用于PollableChannels,轮询场景
      指定者:
      postReceive 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      message - Message
      channel - MessageChannel
      返回:
      如果返回null, 就不会进行下一步操作
    • afterReceiveCompletion

      public void afterReceiveCompletion(org.springframework.messaging.Message<?> message, org.springframework.messaging.MessageChannel channel, Exception ex)
      1. 在消息接收完成之后调用,不管发生什么异常,可以用于消息发送后的资源清理 2. 只有当preReceive 执行成功,并返回true才会调用此方法 3. 适用于PollableChannels,轮询场景
      指定者:
      afterReceiveCompletion 在接口中 org.springframework.messaging.support.ChannelInterceptor
      参数:
      message - Message
      channel - MessageChannel
      ex - 失败时抛出的 HerodotusException