春季云流使kstream具有事务性

时间:2020-09-23 15:43:18

标签: java spring-boot spring-data-jpa spring-cloud-stream

我正在使用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));
                           
                            
                        });
        
            }
    

}

0 个答案:

没有答案