0
我的目标是在整个拓扑中添加指标。对于扩展基本/富集类的螺栓,情况很好,但我无法在螺栓内注册任何指标,扩展以下AbstractRedisBolt
class。如何访问抽象类中的拓扑上下文
我想在扩展AbstractRedisBolt
的螺栓内得到TopologyContext。但是,此类的prepare
方法不会将拓扑上下文暴露给派生类。
我试图扩展AbstractRedisBolt
类,方法是定义上下文的类属性+返回该属性的方法,但实际上并不成功。我最终得到了我的螺栓中的拓扑上下文的引用,但是context.registerMetric
操作没有注册任何指标。
谢谢
喜马蒂亚斯,感谢您的答复。我试图扩展AbstractRedisBolt,现在我开始得到这个消息:'java.lang.RuntimeException:TopologyContext.registerMetric只能在重写的IBolt :: prepare()或ISpout :: open()方法中调用。另外,我仍然不确定应该在子类中实例化numEventsEnriched = new CountMetric();和registerMetric。我正在执行'execute'方法,因为'prepare'方法不可用:'super.context.registerMetric(ConfigTopology.METRICS_TOTAL_TO_ENRICH,numEventsEnriched,oneMin);' –
嗨,Matthias。非常感谢。我只是做了RTFM,其中“M”代表消息;)的确,消息说明了一切。我只是在螺栓内部重写了'prepare'方法,在'prepare'方法中声明并注册了度量,并且瞧! Muchas graciasseñor! –
我喜欢RTFM! ;) –