ASTRO企业应用 ASTROPRO-自定义devspore-horizo插件:实现示例

时间:2024-11-13 15:18:50

实现示例

  • 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;
          }
      }
    • 多个插件以","分隔,多个插件按配置顺序执行。
      devspore:
        horizon:
          processors: defaultRequestPlugin,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: defaultResponsePlugin,customResponsePlugin
support.huaweicloud.com/usermanual-astropro/astropro_05_0156.html