编写一个自己的插件,只需要实现 Plugin 接口即可。如果在启动或者停止返回 false,Cloudopt Next将会自动输出错误日志。
class TestPlugin:Plugin{override fun start(): Boolean {println("TestPlugin is starting!")return true}override fun stop(): Boolean {println("TestPlugin is stopping!")return true}}
public class TestPlugin implements Plugin {@Overridepublic boolean start() {System.out.println("TestPlugin is starting!");return true;}@Overridepublic boolean stop() {System.out.println("TestPlugin is starting!");return true;}}
我们还提供了大量的工具来帮助你更方便的开发插件。
自动扫描注解
Classer.scanPackageByAnnotation(CloudoptServer.packageName, true, AutoKafka::class.java).forEach { clazz ->println(clazz)}}
自动创建对象
var obj = Beaner.newInstance<KafkaListener>(clazz)
读取配置文件
var config = ConfigManager.init("test")
获取所有的路由器
var controllers = NextServer.resourceTables
如果你添加了自己的额外的注解可以在插件扫描时获取 resourceTables 可以看到每个 url 对应的类及方法,从而直接通过resourceTables 获取每个方法或者类上自己自定义的注解。
当然你也可以自行注册一些固定路径的路由。
比如你现在写了个管理后台插件,那么可以通过操作 resourceTables 放入 /admin 路径的对应的处理方法,从而达到自动注册相关路由。
