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! ;) –