我想配置我的spout在不同的流上发出2个不同频率的tick元组。我的问题如下:
只有螺栓可以接收刻度元组。 Spouts只能发出元组。
我假设你试图在你的鲸鱼喷水中经常“读”,以便发出一个新的元组。
例如,在读取之间睡50毫秒:
@Override
public void nextTuple() {
try {
String message = _mqClient.getMessage();
if (message != null) {
_collector.emit(new Values(message));
}
// sleep for 50 milliseconds
Utils.sleep(50);
} catch (Exception e) {
_collector.reportError(e);
LOG.error("MQ spout error {}", e);
}
}
也许这可以帮助你:
https://github.com/ptgoetz/storm-signals
Storm-Signals旨在提供一种向风暴拓扑中的组件(spouts / bolt)发送消息(“信号”)的方法,否则这些消息不可寻址。
风暴拓扑可以被认为是静态的,因为对拓扑行为的修改需要重新部署。 Storm-Signals提供了一种在运行时修改拓扑行为的简单方法,无需重新部署。