是否有可供 Storm Spout 或 Bolt 访问其 ID 的 API?我所指的 IDString是传递给class 中的setSpoutorsetBolt方法的 ID backtype.storm.topology.TopologyBuilder。
出于日志记录的目的访问此字符串会很有用。
您可以在螺栓的准备方法中对传递的拓扑上下文使用 getThisComponentId() :
@Override
public void prepare(Map config, TopologyContext context, OutputCollector collector) {
this.collector = collector;
String componentId = context.getThisComponentId();
}
Run Code Online (Sandbox Code Playgroud)
以及喷嘴的 open 方法。
还有一个更通用的方法 getComponentId(int taskId),它返回任何给定任务的组件 ID。
| 归档时间: |
|
| 查看次数: |
2445 次 |
| 最近记录: |