我有一个使用Spring Data Redis和CrudRepository
的服务,并且在我的一种服务方法中,它先执行查询,然后进行保存。我想使保存异步。是否可以使扩展的CrudRepository
中的save方法异步?
在下面的示例中,我希望save
操作是异步的。
public interface MyRepository extends CrudRepository<User, String> {
public List<User> findByUserId(Long userId);
}
public class MyServiceImpl implements MyService {
@Autowired
private MyRepository myRepository;
public void addUser(User newUser) {
List<User> users = myRepository.findByUserId(newUser.getUserId());
// other operations on users
myRepository.save(); // want this be async
}
}
答案 0 :(得分:0)
您可以在save
中再次声明MyRepository
方法,并用@Async
添加注释。
public interface MyRepository extends CrudRepository<User, String> {
public List<User> findByUserId(Long userId);
@Async
public <S extends User> S save(S entity);
}