SqlSession was not registered for synchronization because synchronization is not active問題

編寫測試代碼:

    @Test
    public void callBack() throws InterruptedException {
        ExecutorService executorService = Executors.newFixedThreadPool(100);
        for (int i = 0; i < 100; i++) {
            executorService.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        payBack();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    }


    public void payBack()  {
        String tradeNo = "202259607180675101";
        //log.info("--------"+tradeNo+"--------");
        //通過tradeNo查詢訂單狀態(tài)。交易單號
        ProductOrderDO productOrderDO = productOrderService.queryProductOrderState(tradeNo);
        if(productOrderDO == null) {
            log.error("--------fail--------------------"); ;
        }
        log.info("--------"+tradeNo+"--------");
        String orderState = productOrderDO.getState();
        //sleep(1000l);
        log.info("--------"+orderState+"--------");
    }

發(fā)現(xiàn)SQL根本沒有執(zhí)行,出現(xiàn)報錯

 [“SqlSession[xxx] was not registered for synchronization because synchronization is not active

原因是Sqlsession未注冊同步,同步注冊未激活,JDBC connection不能被Spring所托管,,,callBack方法加事務(wù)注解@Transactional就可以了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容