ofbiz中使用事务处理

在使用 ofbiz 中经常会出现下面的后台日志

ERROR: Cannot do a find that returns an EntityListIterator with no transaction in place. Wrap this call in a transaction.


ofbiz中使用迭代器需要事务控制,如该服务没有事务,得手动控制事务,如下:

在 deletagor 代码上下加上

try{

    TransactionUtil .begin();

    EntityListIterator iterator = delegator.find();

    TransactionUtil .commit();

    }catch (GenericEntityException e) {
        
        try {
            TransactionUtil .rollback();
        } catch (GenericTransactionException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        throw e;      
    }



即可

你可能感兴趣的:(java)