Java mongodb反应流中的订户实例
我遇到过mongodb反应流驱动程序,它们似乎非常适合异步操作。此外,对于我们执行的每个操作,我们都需要为此指定一个订阅服务器。我的问题是我们是否应该为我们执行的每个操作创建不同的订阅服务器实例。例如,考虑MungDB DOCs 中的这个片段。Java mongodb反应流中的订户实例,java,mongodb,mongodb-query,reactive-programming,reactive-streams,Java,Mongodb,Mongodb Query,Reactive Programming,Reactive Streams,我遇到过mongodb反应流驱动程序,它们似乎非常适合异步操作。此外,对于我们执行的每个操作,我们都需要为此指定一个订阅服务器。我的问题是我们是否应该为我们执行的每个操作创建不同的订阅服务器实例。例如,考虑MungDB DOCs 中的这个片段。 // 1. Ordered bulk operation - order is guaranteed subscriber = new PrintSubscriber<BulkWriteResult>("Bulk write results:
// 1. Ordered bulk operation - order is guaranteed
subscriber = new PrintSubscriber<BulkWriteResult>("Bulk write results: %s");
collection.bulkWrite(
Arrays.asList(new InsertOneModel<>(new Document("_id", 4)),
new InsertOneModel<>(new Document("_id", 5)),
new InsertOneModel<>(new Document("_id", 6)),
new UpdateOneModel<>(new Document("_id", 1),
new Document("$set", new Document("x", 2))),
new DeleteOneModel<>(new Document("_id", 2)),
new ReplaceOneModel<>(new Document("_id", 3),
new Document("_id", 3).append("x", 4)))
).subscribe(subscriber);
subscriber.await();
我的问题是,我们是否应该为执行的每个操作创建不同的订阅服务器实例
是的,每次订阅时必须创建不同的订阅服务器实例。您正在订阅反应流发布服务器:
订阅者
只能向单个发布者订阅一次
我的问题是,我们是否应该为执行的每个操作创建不同的订阅服务器实例
是的,每次订阅时必须创建不同的订阅服务器实例。您正在订阅反应流发布服务器:
订阅者
只能向单个发布者订阅一次
while(someresultset.hasNext()) {
list.add(someresultset.getNext())
if(list.size() >= 10000)
doWrites() // can I use same subscriber instance declared outside of this loop or I should create the subscriber instance every time?
list = new list()
}