我不明白如何结合三个相互依赖的操作。
我有新用户需要保存到基地:
>
从基础获取项目。
roleRepo.findByName("USER"); // return Mono<Role>
user.setRole(...); // set result from roleRepo.findByName("USER") is String
将第一次操作的数据保存到数据库中
userRepo.save(user); // return Mono<User>
保存到基本的新用户角色
UserRole uRole = new UserRole();
urole.setUserId(user.getId);
urole.setRoleId(role.Id);
userRolesRepo.save(uRole) // return Mono<UserRole>
最后,方法返回
Mono<User>
到控制器。
通过使用平面图合并异步操作。尽量像锁链一样使用它们,避免嵌套。
没有测试,但这应该给你一个开端:
java prettyprint-override">roleRepo.findByName("USER")
.flatMap(role -> {
user.setRole(role);
return Mono.just(user);
})
.flatMap(user -> userRepo.save(user))
.flatMap(user -> {
UserRole uRole = new UserRole();
urole.setUserId(user.getId);
urole.setRoleId(role.Id);
return Mono.zip(Mono.just(user), userRolesRepo.save(uRole));
})
.flatMap(data -> Mono.just(data.getT1()));
我正在尝试根据先前Web请求的结果下载一个文件(或多个文件)。下载文件后,我需要将之前的Mono结果(and)和文件发送到另一个系统。到目前为止,我一直在使用平面地图和Monos。但是当读取大文件时,我无法在文件下载期间使用Mono,因为缓冲区太小。 简化后的代码如下所示: DMS服务。search(),,all返回特定类型的Mono<代码>DMS服务。getDocument(objectId)返
我想创建一个SpringWebFlux服务,它将两个源的数据与一个依赖项相结合。我是Webflux的新手,所以我不知道怎么做。下面是一些伪代码来说明我要做的事情: 的结果包括我想用查找的数据的标识符。至少我想处理这两个数据集。我可以使用什么方法代替第一个?
想象我们有两个数组: 获取包含两者相乘值的第三个String数组的更好方法是什么?比如: 我知道,我可以使用循环并将1中的每个元素与2中的每个元素连接起来,并将结果放入3中。但实际上和中的元素要多得多。Java中是否有专门的工具使其更有效?
我正在学习使用RxAndroid库的RxJava,同时使用改型来进行联网,并使用RetroLambda来使用Java8 lambdas。 我希望构建的应用程序具有以下功能: 允许用户键入对Wikipedia API的查询 我让它像这样工作: 现在,我想添加一个新的小部件,允许我的维基百科查询使用另一种语言。现在,我将选择一个开关,以“en”或“nl”作为维基百科url的前缀。 所以我从开关中创建了
我试图用相同的观察者观察两个请求。我的: 我的请求是使用Reformation 2构建的登录请求: 现在我想启动2个或更多请求并在中逐个检查响应,当检查最后一个请求时,使用我的执行。有人能帮我吗? 提前致谢。
操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断与系统调用 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 由计算机硬件异常或故障引起的中断,称为内部异常中断; 由程序中执行了引起中断