spring-data-relational icon indicating copy to clipboard operation
spring-data-relational copied to clipboard

NoTransactionInContextException: No transaction in context

Open tom055 opened this issue 2 years ago • 0 comments

org.springframework.boot spring-boot-starter-data-r2dbc 2.3.12.RELEASE

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
        def.setName("SomeTxName");
        def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
        Mono<ReactiveTransaction> reactiveTx = transactionManager.getReactiveTransaction(def);
        return reactiveTx.flatMap(status -> {
            Mono<OrderDataVo> tx = orderDao.save(OrderDb.builder().orderName(name).accountId(id.intValue()).createDate(LocalDateTime.now()).build()).map(orderDb -> {
                return OrderDataVo.newBuilder().setOrderName(orderDb.getOrderName()).setId(orderDb.getId()).setAccountId(orderDb.getAccountId().longValue()).build();
            });

            return tx.then(transactionManager.commit(status).map(unused -> OrderDataVo.newBuilder().build()))
                    .onErrorResume(ex -> transactionManager.rollback(status).then(Mono.error(ex)));
        });


but it throw error:

2022-08-11 13:21:30.529  INFO 15264 --- [nio-8002-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 39 ms
2022-08-11 13:21:44.009 ERROR 15264 --- [nio-8002-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] threw exception

org.springframework.transaction.reactive.TransactionContextManager$NoTransactionInContextException: No transaction in context

2022-08-11 13:21:44.010 ERROR 15264 --- [nio-8002-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.transaction.reactive.TransactionContextManager$NoTransactionInContextException: No transaction in context] with root cause

org.springframework.transaction.reactive.TransactionContextManager$NoTransactionInContextException: No transaction in context

2022-08-11 13:22:10.742  INFO 15264 --- [eoutChecker_1_1] i.s.c.r.netty.NettyClientChannelManager  : will connect to 192.168.104.29:18091

help me how to solve this problem?think you

tom055 avatar Aug 11 '22 05:08 tom055