我有一个自定义AllWindowFunction类,它有一个负责数据库插入的类成员。与数据库的连接是持久的,并在构建过程中打开。
问题是,AllWindowFunction创建/打开连接的实例与应用事件调用的实例不同。解决此问题的方法是静态成员,但我想知道这是否是唯一的解决方法?
示例代码:
public class CustomWindowFunction implements AllWindowFunction<String, String, TimeWindow> {
private static Connection database;
CustomWindowFunction() {
database = new Connection();
}
@Override
public void apply(TimeWindow timeWindow, Iterable<String> trades, Collector<String> out) {
// process data
database.save(data);
out.collect(data.toString());
}
}
我找不到有关此机制的任何信息,我只知道构造函数中的对象 ID 与调用的对象 ID 不同apply。
函数式编程
相关分类