Module bus.socket

Class MonitorPlugin<T>

java.lang.Object
org.miaixz.bus.socket.plugin.AbstractPlugin<T>
org.miaixz.bus.socket.plugin.MonitorPlugin<T>
All Implemented Interfaces:
Runnable, Monitor, Plugin<T>

public final class MonitorPlugin<T> extends AbstractPlugin<T> implements Runnable
服务器运行状态监控插件
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • MonitorPlugin

      public MonitorPlugin()
    • MonitorPlugin

      public MonitorPlugin(int seconds)
    • MonitorPlugin

      public MonitorPlugin(int seconds, boolean udp)
  • Method Details

    • process

      public boolean process(Session session, T data)
      Description copied from interface: Plugin
      对请求消息进行预处理,并决策是否进行后续的Handler处理 若返回false,则当前消息将被忽略。 若返回true,该消息会正常秩序Handler.process
      Specified by:
      process in interface Plugin<T>
      Overrides:
      process in class AbstractPlugin<T>
      Parameters:
      session - 会话
      data - 待处理的业务消息
      Returns:
      the true/false
    • stateEvent

      public void stateEvent(Status status, Session session, Throwable throwable)
      Description copied from interface: Plugin
      监听状态机事件
      Specified by:
      stateEvent in interface Plugin<T>
      Overrides:
      stateEvent in class AbstractPlugin<T>
      Parameters:
      status - 状态
      session - 会话
      throwable - 异常
      See Also:
    • run

      public void run()
      Specified by:
      run in interface Runnable
    • afterRead

      public void afterRead(Session session, int readSize)
      Description copied from interface: Monitor
      监控触发本次读回调Session的已读数据字节数
      Specified by:
      afterRead in interface Monitor
      Overrides:
      afterRead in class AbstractPlugin<T>
      Parameters:
      session - 当前执行read的Session对象
      readSize - 已读数据长度
    • beforeRead

      public void beforeRead(Session session)
      Description copied from interface: Monitor
      即将开始读取数据
      Specified by:
      beforeRead in interface Monitor
      Overrides:
      beforeRead in class AbstractPlugin<T>
      Parameters:
      session - 当前会话对象
    • afterWrite

      public void afterWrite(Session session, int writeSize)
      Description copied from interface: Monitor
      监控触发本次写回调session的已写数据字节数
      Specified by:
      afterWrite in interface Monitor
      Overrides:
      afterWrite in class AbstractPlugin<T>
      Parameters:
      session - 本次执行write回调的Session对象
      writeSize - 本次输出的数据长度
    • beforeWrite

      public void beforeWrite(Session session)
      Description copied from interface: Monitor
      即将开始写数据
      Specified by:
      beforeWrite in interface Monitor
      Overrides:
      beforeWrite in class AbstractPlugin<T>
      Parameters:
      session - 当前会话对象