更新时间:2025-01-09 GMT+08:00
分享

用户自定义拦截插件使用

  • Entry插件

    继承抽象类Processor,实现doProcess接口,可定义多个插件。

    插件均需注册为bean。

    import com.huawei.devspore.horizon.DataEvent;
    import com.huawei.devspore.horizon.exception.PluginException;
    import com.huawei.devspore.horizon.processor.Processor;
    
    import org.springframework.stereotype.Component;
    
    /**
     * custom request plugin
     */
    @Component
    public class CustomRequestPlugin extends Processor {
        @Override
        public boolean doProcess(DataEvent dataEvent) throws PluginException {
            // do your code
            ........
            return true;
        }
    }

    配置文件中多个插件以","分隔,多个插件按配置顺序执行。

    evspore:
      horizon:
        processors: customRequestPlugin
  • Exit插件

    实现Observer接口中observer接口,可定义多个插件。

    插件均需注册为bean。

    import com.huawei.devspore.horizon.DataEvent;
    import com.huawei.devspore.horizon.exception.PluginException;
    import com.huawei.devspore.horizon.subscribe.Observer;
    
    import org.springframework.stereotype.Component;
    
    /**
     * custom response plugin
     */
    @Component
    public class CustomResponsePlugin implements Observer {
        @Override
        public void observe(DataEvent dataEvent) throws PluginException {
            // do your code
            ......
        }
    }

    配置文件中多个插件以","分隔,多个插件按配置顺序执行。

    devspore:
      horizon:
        observers: customResponsePlugin

相关文档