动态插件

Nop平台内置了一个具有支持动态加载和卸载的插件管理机制。

实现插件

  1. 引入nop-plugin-api
  2. 实现IPlugin接口
public interface IPlugin {
  String getPluginGroupId();

  String getPluginArtifactId();

  String getPluginVersion();

  Timestamp getLastChangeTime();

  Timestamp getLoadTime();

  CompletionStage<Map<String, Object>> invokeCommandAsync(String command, Map<String, Object> args,
                                                          IPluginCancelToken cancelToken);

  Map<String, Object> invokeCommand(String command, Map<String, Object> args, IPluginCancelToken cancelToken);

  void start();

  void stop();
}

一般情况下可以选择引入nop-plugin-support包,然后从AbstractPlugin类继承。

AbstractPlugin的作用是通过NopIoC实现bean的生成周期管理。