You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EMQX v5插件pri/config.hocon配置读取及全局使用方法咨询

EMQX v5 自定义插件配置读取指南

一、在插件内声明配置(pri/config.hocon)

在插件的pri/config.hocon文件中,按照HOCON语法定义你的常量,示例:

my_custom_plugin {
  max_retry_times = 3
  notify_topic = "$SYS/my_plugin/notify"
  enable_log = true
}

二、正确读取插件专属配置的方法

不要直接调用hocon:load/1,它会默认加载EMQX全局配置。用EMQX插件框架提供的规范方式读取:

1. 定义配置Schema(必填步骤)

在插件的priv/schema/目录下创建配置Schema文件(比如my_custom_plugin.schema),让EMQX识别这是插件的专属配置:

{my_custom_plugin, [
    {fields, [
        {max_retry_times, #{type => integer, default => 5}},
        {notify_topic, #{type => string, default => "$SYS/default/topic"}},
        {enable_log, #{type => boolean, default => false}}
    ]}
]}.

2. 在插件模块中读取配置

在emqx-plugin-template.erl里,使用EMQX提供的emqx_conf:get/2函数读取配置,示例:

%% 获取最大重试次数
get_max_retry() ->
    emqx_conf:get([my_custom_plugin, max_retry_times], 5).

%% 获取通知主题
get_notify_topic() ->
    emqx_conf:get([my_custom_plugin, notify_topic], "$SYS/default/topic").

这样就能精准读取到插件自身pri/config.hocon里的配置,不会混淆EMQX全局配置。

3. 配置自动加载

EMQX插件框架会在插件启动时自动加载pri/config.hocon的配置,无需额外手动加载,只要Schema和配置文件的字段对应即可。

三、排查要点

  • 检查Schema文件的字段名和pri/config.hocon中的键名完全一致
  • 确认pri/config.hocon位于插件的私有目录下,而非EMQX的全局配置目录
  • 若修改配置后未生效,重启插件或EMQX即可

内容的提问来源于stack exchange,提问作者Nguyễn Hoàng Anh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:05:15