在我的拓扑中,有一小段代码从类路径
中的属性加载配置InputStream is=getClass().getClassLoader().getResourceAsStream("dev.properties");
p.load(is);
当我在本地模式风暴中运行jar时效果很好,但是当我在集群模式下尝试它时,它会因NullPointerException而失败。 属性文件位于src / main / resources(Maven结构)中,并正确包含在jar文件中。
有可能的原因吗?
此外,当我使用出站交互运行某些拓扑时,例如在群集模式风暴中使用ElasticSearch,我会遇到很多麻烦。即使它在本地模式风暴中运作良好。
在使用群集模式风暴之前我应该怎么想?
答案 0 :(得分:1)
在构建拓扑时加载属性对象,然后在必要时通过构造函数将其传递给bolt / spouts。
答案 1 :(得分:0)
您必须在风暴群集中配置网络文件系统,然后将该属性文件放在NFS位置,从该位置读取属性文件。