storm 提交拓扑,引用外部配置文件
背景 由于 jar 包需要发布到 storm 分布式环境中运行,所以每次都要将配置文件打进 jar 包里,这样程序运行的时候,才能从 classpath 中找到配置文件。每次发布程序的时候,由于各项环境不同,都要修改配置文件,很麻烦。所以试想如何加载 jar 包外部配置文件。 配置文件 配置文件包括 程序配置文件 .properties spring 配置文件 .xml 其中 spring 配置文件引用了 .properties 文件 思路 将 .properties 配置读取,放到 stormConf 对象中,这样,当 jar 包提交到 storm 拓扑环境中时,也能从 stormConf 对象中加载配置 首先,去 xml 配置,spring 使用注解 @Configuration 配置类,然后通过工具类,从 stormConf 中获取需要的配置。 代码示例 本文只是演示思路,不介绍 spring 注解配置,请查阅其他资料 从外部文件读取配置,放入 stormConfig public static void main ( String [ ] args ) { final TopologyBuilder builder = new TopologyBuilder ( ) ; // 获取当前 jar 包路径 String programPath = ClassUtils .