我正在使用kstream消耗kafka消息,然后将其持久化到数据库。我想进行此事务处理,但是用@Transactional注释类似乎不起作用。我不知道还能做些什么使其具有跨语言性。预先感谢:
这是我的代码:
@Configuration
@Transactional
public class KafkaConfig {
@Autowired
StudentRepository studentRepository;
@Bean
public Consumer<KStream<String, Student>> process() {
return stream->
stream.foreach((key,value)->{
TransactionStatus status = TransactionAspectSupport.currentTransactionStatus();
// the above gives org.springframework.transaction.NoTransactionException: No transaction aspect-managed TransactionStatus in scope exception
studentRepository.save(value));
});
}
}