【发布时间】:2019-04-16 14:41:18
【问题描述】:
我的任务是使用 Flux/Mono 使 UserService 具有响应性。
我了解 Flux 和 Mono 的工作原理,但它们仅用于存储库而不是数组列表。
UserServiceImpl:
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class UserServiceImpl implements UserService {
private List<User> users = new ArrayList<>();
@PostConstruct
public void postConstruct() {
this.users.add(User.builder()
.id(1L)
.username("username1")
.age(14)
.build());
}
@Override
public User findOne(Long userId) {
LOGGER.info("UserService: execute findOne(userId) method");
return this.users.stream()
.filter(user -> user.getId().equals(userId))
.findFirst()
.orElse(null);
}
@Override
public List<User> findAll() {
LOGGER.info("UserService: execute findAll() method");
return this.users;
}
@Override
public void add() {
LOGGER.info("UserService: execute add() method");
this.users.add(User.builder()
.id(3L)
.username("username3")
.age(34)
.build());
}
}
【问题讨论】:
标签: java spring-boot reactive-programming project-reactor reactor