Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Spring5反应式存储库在fire-and-forget模式下进行保存_Java_Spring_Reactive Programming - Fatal编程技术网

Java 如何使用Spring5反应式存储库在fire-and-forget模式下进行保存

Java 如何使用Spring5反应式存储库在fire-and-forget模式下进行保存,java,spring,reactive-programming,Java,Spring,Reactive Programming,我正试图找出如何在fire and forget模式下使用Spring5 ReactiveCrudepository在(例如mongo)中进行保存 代码很简单 public Mono<MyObject> saveObject(Mono<MyObject> mono) { return mono.flatMap(objectRepository::save); } 公共Mono保存对象(Mono){ 返回mono.flatMap(objectRepository:

我正试图找出如何在fire and forget模式下使用Spring5 ReactiveCrudepository在(例如mongo)中进行保存

代码很简单

public Mono<MyObject> saveObject(Mono<MyObject> mono) {
    return mono.flatMap(objectRepository::save);
}
公共Mono保存对象(Mono){
返回mono.flatMap(objectRepository::save);
}
事实上,我不需要读取返回的值,在反应式世界中,读取操作触发保存

我试过了 objectService.saveObject(Mono.just(object)).block(); 它工作得很好,但是它阻塞了:D

我想知道如何正确地做这件事。(或者如果这只是个坏主意)

谢谢朱利安

objectService.saveObject(Mono.just(object)).subscribe(); 
您需要一个触发操作的操作。
.block()
是一种方法,但这不是一个好主意。一旦你“阻挡”了,你就不再是被动的世界了

如果您对该方法返回的值不感兴趣—您可以使用并清空subscribe方法—它只会触发该操作

即使我对这个值不感兴趣,我也会使用
Mono.subscribe(消费者
objectService.saveObject(Mono.just(object)).subscribe(null, 
                                                      error -> logger.error(error), 
                                                      () -> logger.info("completed"));