示例健康插件
Maven 模块:mms-plugin-sample-health。用于与 mms-plugin-host 联调:SPI、PluginHealthContributor、PluginBeanRegistrar 与 HOST_MVC 分发。
适合谁读
官方「最小可运行」示例:装好后能用 /demo/ping 证明 HOST_MVC 通了,用 /system/pluginHost/health 证明 健康检查 登记成功。不涉及复杂业务权限(仅需登录)。
标识与运行模式
| 项 | 值 |
|---|---|
| 插件 ID | mms.plugin.sample-health |
| runtimeMode | HOST_MVC |
| hostServicesContractVersion | 1(示例偏早;新插件建议对齐当前宿主能力版本) |
| 入口类 | com.sxpcwlkj.plugin.sample.health.SampleHealthPlugin |
能力摘要
同一实现类 SampleHealthPlugin 同时实现 MmsPlugin 与 PluginHealthContributor:
onLoad:向宿主注册逻辑名sampleHealthMarker的占位 Bean。health():返回 JSON 字符串表示探针UP(演示用)。- HTTP:示例 Controller 映射
/demo/ping等,完整路径前缀为/plugin/mms.plugin.sample-health/(与宿主分发规则一致)。
数据表(演示)
plugin.json 声明 pluginTablePrefix:plugin_sample_health_,用于演示 PluginDataAccess 白名单;日常联调可不使用 JDBC。
构建与安装
- 普通
mvn package产出可直接放入该版本lib/的 JAR(示例依赖少,一般为瘦包即可;以当前pom为准)。 - 上架/版本号以 JAR 内
META-INF/mms/plugin.json为准。
Demo:引入插件
bash
cd mms-plugins/mms-plugin-sample-health
mvn -DskipTests package将 target/mms-plugin-sample-health-*.jar 通过 插件市场 安装并激活(或按 JAR 插件入门 手工 lib/ 布局)。本示例 无独立业务权限码,/demo/* 仅需登录即可访问(以当前 Sa-Token 规则为准)。
Demo:调用能力
为管理端接口根。
HTTP
http
GET {{apiBase}}/plugin/mms.plugin.sample-health/demo/ping
Authorization: <token>http
GET {{apiBase}}/plugin/mms.plugin.sample-health/demo/echo/hello
Authorization: <token>期望 .../demo/ping 响应体:pong;.../demo/echo/hello → hello。
运维 invoke
本示例 MmsPlugin 实现类未声明额外公有业务方法(仅生命周期)。验证 PluginBeanRegistrar 可用 GET /system/pluginHost/manifests 或宿主调试;若练习 invoke,请改用 企业微信 或 DeepL 分册。
