如何在一段时间内禁用拓扑,然后在句点结束时自动启动它

时间:2018-05-07 16:26:59

标签: java apache-kafka apache-storm

我有一个拓扑,收集主题的修改,对数据进行一些修改,然后将它们发布在API上,我们发布的api有一些维护期(我们无法在那里发布任何内容的时间) ),我们已经有一些服务而不是返回维护期,但我们想知道我们如何在一段时间内禁用拓扑,然后在期间结束时自动启动

我们正在使用以下技术:

  • Spring boot REST apis
  • Apache Storm
  • Apache Kafka
  • 卡夫卡风暴

我不知道是否有办法停止阅读Kafka Spout集成。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以在Storm上执行:在维护开始时间(使用TimerTask等),调用

Nimbus.Client client = NimbusClient.getConfiguredClient(Utils.readStormConfig()).getClient();
..
client.deactivate("topologyName");

并在最后致电client.activate.