From 7990b950d2619f1ad4046233d4d2847dffe773ec Mon Sep 17 00:00:00 2001 From: daizhenyu <1449308021@qq.com> Date: Thu, 4 Jan 2024 15:36:17 +0800 Subject: [PATCH] =?UTF-8?q?first-plugin-demo=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: daizhenyu <1449308021@qq.com> --- .github/workflows/create_release.yml | 10 ++++++++++ README.md | 3 ++- .../sermant/template/TemplateInterceptor.java | 9 +++++++++ pom.xml | 2 +- scripts/copy_jar.sh | 4 ++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index d859968..49ad522 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -165,4 +165,14 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ github.workspace }}/package/result/sermant-examples-mq-consume-prohibition-demo-${{ env.version }}.tar.gz asset_name: sermant-examples-mq-consume-prohibition-demo-${{ env.version }}.tar.gz + asset_content_type: application/tar + - name: Upload Release first-plugin-demo # first-plugin-demo release包 + id: upload-release-asset-first-plugin + uses: actions/upload-release-asset@v1.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ github.workspace }}/package/result/sermant-examples-first-plugin-demo-${{ env.version }}.tar.gz + asset_name: sermant-examples-first-plugin-demo-${{ env.version }}.tar.gz asset_content_type: application/tar \ No newline at end of file diff --git a/README.md b/README.md index 40a337e..6d9e0fe 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ | 示例名称 | 插件文档 | 示例项目 | |:------------------:|:------------------------------------------------------------------------------------:|:------------------------------------------------:| -| 去源码插件开发模板 | [去源码插件开发说明](https://sermant.io/zh/document/developer-guide/) | [sermant-template](./sermant-template) | +| 去源码插件开发模板 | [去源码插件开发说明](https://sermant.io/zh/document/developer-guide/) | [first-plugin-demo](./first-plugin-demo) | | 动态配置插件使用示例 | [动态配置插件使用说明](https://sermant.io/zh/document/plugin/dynamic-config.html) | [flowcontrol-demo](./flowcontrol-demo) | | 流控插件使用示例 | [流控插件使用说明](https://sermant.io/zh/document/plugin/flowcontrol.html) | [flowcontrol-demo](./flowcontrol-demo) | | 无损上下线插件使用示例 | [无损上下线插件使用说明](https://sermant.io/zh/document/plugin/graceful.html) | [grace-demo](./grace-demo) | @@ -14,6 +14,7 @@ | SpringBoot注册插件使用示例 | [SpringBoot注册插件使用说明](https://sermant.io/zh/document/plugin/springboot-registry.html) | [registry-demo](./registry-demo) | | 服务可见性插件使用示例 | [服务可见性插件使用说明](https://sermant.io/zh/document/plugin/visibility.html) | [visibility-demo](./visibility-demo) | | 离群实例摘除插件使用示例 | [离群实例摘除插件使用说明](https://sermant.io/zh/document/plugin/removal.html) | [removal-demo](./removal-demo) | +| 消息队列禁止消费插件使用示例 | [消息队列禁止消费插件使用说明](https://sermant.io/zh/document/plugin/mq-consume-prohibition.html) | [mq-consume-prohibition-demo](./mq-consume-prohibition-demo) | # RELEASE打包流程 diff --git a/first-plugin-demo/template/template-plugin/src/main/java/com/huaweicloud/sermant/template/TemplateInterceptor.java b/first-plugin-demo/template/template-plugin/src/main/java/com/huaweicloud/sermant/template/TemplateInterceptor.java index 8061d8b..4020791 100644 --- a/first-plugin-demo/template/template-plugin/src/main/java/com/huaweicloud/sermant/template/TemplateInterceptor.java +++ b/first-plugin-demo/template/template-plugin/src/main/java/com/huaweicloud/sermant/template/TemplateInterceptor.java @@ -54,6 +54,15 @@ public void process(DynamicConfigEvent event) { System.out.println("插件配置项发生变化,配置项值为:" + event.getContent()); } }); + + // 用于动态配置演示 + dynamicConfigService.addConfigListener("demo", "app=default", + new DynamicConfigListener() { + @Override + public void process(DynamicConfigEvent event) { + System.out.println("插件配置项发生变化,配置项值为:" + event.getContent()); + } + }); } @Override diff --git a/pom.xml b/pom.xml index 17dd9d3..78c2847 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 1.0.0 pom - sermant-template + first-plugin-demo registry-demo router-demo flowcontrol-demo diff --git a/scripts/copy_jar.sh b/scripts/copy_jar.sh index 424c69a..98290de 100644 --- a/scripts/copy_jar.sh +++ b/scripts/copy_jar.sh @@ -24,8 +24,11 @@ mkdir -p package/springboot-registry-demo mkdir -p package/visibility-demo mkdir -p package/removal-demo mkdir -p package/mq-consume-prohibition-demo +mkdir -p package/first-plugin-demo # 按照文件名模式将对应的jar文件复制到对应目录 +# 创建首个插件 +find . -type d -name "agent" -exec cp -rv {} package/first-plugin-demo/ \; # 动态配置 find . -type f -name "spring-provider.jar" -exec cp -v {} package/dynamic-demo/ \; # 流控 @@ -65,6 +68,7 @@ find . -type f -name "rest-provider.jar" -exec cp -v {} package/removal-demo/ \; # 打包 +tar -czvf package/result/sermant-examples-first-plugin-demo-$*.tar.gz -C package/first-plugin-demo/ . tar -czvf package/result/sermant-examples-dynamic-demo-$*.tar.gz -C package/dynamic-demo/ . tar -czvf package/result/sermant-examples-flowcontrol-demo-$*.tar.gz -C package/flowcontrol-demo/ . tar -czvf package/result/sermant-examples-grace-demo-$*.tar.gz -C package/grace-demo/ .