正在风暴群集模式下加载属性文件



在我的拓扑中,有一小段代码从类路径中的属性加载配置

InputStream is=getClass().getClassLoader().getResourceAsStream("dev.properties");
p.load(is);

当我在本地模式storm下运行jar时,它工作得很好,但当我在集群模式下尝试它时,它会失败,出现NullPointerException。属性文件位于src/main/resources(Maven结构)中,并正确地包含在jar文件中。

有什么可能的原因吗?

此外,当我运行一些带有出站交互的拓扑时,我会遇到很多麻烦,例如集群模式风暴中的ElasticSearch。尽管它在本地模式风暴中工作得很完美。

在使用集群模式风暴之前,我应该怎么想?

在构建拓扑时加载您的属性对象,然后在必要时通过构造函数将其传递给您的螺栓/喷嘴。

您必须在风暴集群中配置一个网络文件系统,然后将该属性文件放置在NFS位置,从该位置读取属性文件。

最新更新