我们最近正在使用Apache Flink流式传输框架,非常好。然而,在文档中我们偶然发现了一些我以前从未见过的Java事物,这个类
public class MyMapper extends RichMapFunction<String, Integer> {
private Counter counter;
@Override
public void open(Configuration config) {
this.counter = getRuntimeContext()
.getMetricGroup()
.counter("myCounter");
}
@public Integer map(String value) throws Exception {
this.counter.inc();
}
}
@public对map方法意味着什么,更有趣的是为什么在方法中没有声明返回,尽管返回类型被定义为Integer?
或者这只是他们文档中的一些问题?
以下是参考Flink Docu
的页面答案 0 :(得分:2)
这似乎是文档的一个问题。
@
中的@public
不正确,应该删除,即这应该是Java关键字public
。另一个答案中提到的@Public
注释不应该用在用户代码中,而只能用在Flink的公共接口中。
文档页面是关于如何使用指标的,因此作者可能专注于更新指标的调用并忘记了map()
方法的返回值。
如果您可以打开JIRA issue报告错误的文档,那就太棒了。谢谢!