Kinesis消费者记录处理器工厂和记录处理器线程安全

时间:2017-01-04 15:42:51

标签: java multithreading amazon-kinesis

我有一个使用KCL的kinesis消费者应用程序。 Kinesis流有3个分片,KCL在一个实例上运行。因此,在使用同一个worker创建的一个实例上将运行三个记录处理器线程。

这些记录处理器是使用相同的记录处理器工厂创建的。这些记录处理器的线程是否安全?

说我的recordprocessorfactory构造函数的签名是

class MyRecordProcessordFactory implements IRecordProcessorFactory{
A a;B b;
MyRecordProcessorFactory(A a , B b)
this.a=a;this.b=b;
}

public IRecordProcessor createProcessor(){
return new MYRecordProcessor(a,b);
}

}

public class MYRecordProcessor implements IRecordProcessor{
A a,B b;
MYRecordProcessor(A a,B b){this.a=a;this.b=b;}

public void processRecords(ProcessRecordInput processRecordInput){
use a ;
use b;
}

}

在processRecords线程安全中使用a和b吗?如果没有做什么,使其线程安全。 只需在MyRecordProcessorFactory和MyRecordProcessor中创建a和b参考最终版本就可以了吗?

0 个答案:

没有答案