我必须将以下代码转换为非阻塞(异步)进程。
empcontroller类
@RestController
@RequestMapping("/emp")
public class EmpController {
private EmployeeRepository empRepo;
@Autowired
public EmpController(EmployeeRepository empRepo)
{
this.empRepo=empRepo;
}
@PostMapping("/save/all")
@Consumes({MediaType.APPLICATION_JSON})
public void saveEmpAll(@RequestBody List<Employee> emps)
{
empRepo.saveEmpAll(emps);
}
}
雇员安置班
@Repository
public class EmployeeRepository implements EmployeeDAO {
@Override
public void saveEmpAll(List<Employee> emps) {
Map<Long,Employee> employees=new HashMap<>();
emps.forEach(emp->{
emp.setDate(new Date());
employees.put(emp.getId(),emp);
});
hashOperations.putAll("EMP",employees);
}
}
使用springwebflux的React式编程
控制器
@PostMapping("/save/all")
@Consumes({MediaType.APPLICATION_JSON})
public void saveEmpAll(@RequestBody Flux<Employee> emps)
{
emps.collectMap(e->{
e.setDate(new Date());
// todo.............( can I do like this? is it the right way?)
});
}
位置
@Override
public void saveEmpAll(Map<Long,Employee> employees) {
hashOperations.putAll("EMP",employees);
}
有没有其他方法可以创建hashmap并使用flux以异步方式将值放入其中?
暂无答案!
目前还没有任何答案,快来回答吧!