我正在使用Hector从Cassandra数据库读取。
我想知道赫克托的查询对象是否是线程安全的,特别是我想知道以下对象是否是线程安全的:
SliceQuery
StringSerializer.get()
我使用以下代码创建查询:
StringSerializer stringSerializer = StringSerializer.get();
query = HFactory.createSliceQuery(connectionEvent.getKeyspace(), stringSerializer, stringSerializer, stringSerializer);
我可以将此代码带到类级别,假设它是线程安全的,然后在类方法中使用(对于多线程环境,该方法应该是线程安全的)?
我没有找到与此主题相关的文档。如果这些对象不是线程安全的,我将确保它们的初始化在方法内部进行。
最佳答案
StringSerializer是线程安全的,因此可以放在类级别,
另一方面,不需要在每个请求期间再次创建查询。