小编use*_*649的帖子

@Async和@Transactional:不工作

请参阅代码.

  1. 当我调用方法@Async loadMarkUpPCT()时,数据不会被提交到表中.它表现得好像是非牵引性的.

  2. 当我从loadMarkUpPCT(Class 1)中删除@Async时,即非异步,然后提交数据并按预期正常:transactional)

我期待与@Async和@Transactional有相同的结果,但它不是.请解释或我做错了什么?

编辑:我刚编辑发布代码+日志

流程:AppDataLoaderController调用AppDataLoaderService调用DataMigrationService调用JpaDataMigrationDao

package concepts.web.rest.resource.spring.impl;

@Controller
@RequestMapping("/appdataloader")
public class AppDataLoaderController {

    @RequestMapping("/loadMarkupPct")
    @ResponseStatus(HttpStatus.ACCEPTED)    
    public void loadMarkUpPCT() {
        try {
            this.appDataLoaderService.loadMarkUpPCT();
        } catch (ServiceException e) {
            e.printStackTrace();
        }
    }



package concepts.service.impl;  

@Service("appDataLoaderService")
public class AppDataLoaderServiceImpl implements AppDataLoaderService {

    @Async
    @Override       
    public void loadMarkUpPCT() throws ServiceException {
        logger.debug("@Async loadMarkUpPCT");       
        dataMigrationService.loadMarkUpPCT();
    }   


package concepts.service.impl;

@Service
@Scope("prototype")
public class DataMigrationServiceImpl implements DataMigrationService {

    @Override
    public void loadMarkUpPCT() throws ServiceException {
        // TODO Auto-generated method stub
        Assert.notNull(markUpPCTDataLoader);
        List<MarkUpPCT> markUpPCTs=markUpPCTDataLoader.getMarkupCoef(); …
Run Code Online (Sandbox Code Playgroud)

spring spring-transactions

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×1

spring-transactions ×1