从控制器类调用时事务回滚不起作用,但从测试类调用时起作用

suguspnk

首先,我一直在寻找这个问题的答案,但即使经过 5 个小时的搜索,我仍然找不到答案。

总结:我的 Transactional 类在从我的 Controller 类中调用时不会回滚,但是在我的 JUnit 测试类中调用时,它会执行回滚。

控制器

@RestController
public class NotifyServerController extends BaseController {

...

@RequestMapping(value = PathConstants.PATH_NOTIFY_SERVER, method = RequestMethod.POST)
public WiremoRoot notifyServer(// parameters //) throws SQLException {
    ... authentication and other if statements

    // State monitoring request (control box information)
    else if(content instanceof SpecificRequest){
        response.getContents().setContent(serviceObj.processRequest(request));
    }  else
        throw new InputErrorException();

    return response;
}

}

服务对象实现

@Service(// Qualifier //)
@Transactional
public class ServiceClassImplementation implements ServiceClass {

    // -- Dao objects here

    /**
     * {@inheritDoc}
     */
    public Response processRequest(// parameters //) throws SQLException {
        ...
        methodA();
    }

    public void methodA(){
        ...
        throw new RuntimeException();
    }
    ...

}

请注意,它在我的 Test 类中被调用时成功回滚。从 RestController 调用它时它不起作用。

suguspnk

显然,我的 tx-annotation 语句在我的 db-context.xml 中,这就是为什么它在实际构建中不起作用,但在我的测试类中起作用,因为在我的测试类中,我专门加载了我的配置。所以我把我的 tx-annotation 语句放在我的 dispatcherServlet(servlet-context.xml) 中并且它起作用了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从C#调用时C#类方法确实起作用,但从VB.Net调用时则不起作用

来自分类Dev

从类中调用时,清除主机不起作用

来自分类Dev

从不同的类调用时,Java repaint() 不起作用

来自分类Dev

为什么当从控制器中的不同函数调用时 view::make 不起作用?

来自分类Dev

当从扩展插件的类中调用时,为什么调用扩展活动的类不起作用?

来自分类Dev

从NSObject调用时,DBRestClient不起作用

来自分类Dev

从BroadcastReceiver调用时,startActivity不起作用

来自分类Dev

从NSObject调用时,DBRestClient不起作用

来自分类Dev

从systemd调用时ssh不起作用

来自分类Dev

从另一个类调用时,Java PropertyChangeListener不起作用

来自分类Dev

为什么 mpl_connect 在类的 __init__ 中调用时不起作用?

来自分类Dev

Oracle事务回滚不起作用

来自分类Dev

Oracle事务回滚不起作用

来自分类Dev

春季事务回滚不起作用

来自分类Dev

Laravel - 事务回滚不起作用

来自分类Dev

调用API控制器的Delete方法不起作用

来自分类Dev

从控制器调用命令不起作用

来自分类Dev

For循环在Laravel控制器类中不起作用

来自分类Dev

For循环在Laravel控制器类中不起作用

来自分类Dev

Grails 3控制器单元测试:域类验证在ControllerUnitTest中不起作用

来自分类Dev

在python中调用时balance()方法不起作用

来自分类Dev

从cron调用时脚本不起作用

来自分类Dev

从外部方法调用时,RaphaelJS动画不起作用

来自分类Dev

使用子流程调用时,卷曲不起作用

来自分类Dev

执行函数调用时,Onclick函数不起作用

来自分类Dev

通过.NET API调用时DynamoDB UpdateItem不起作用

来自分类Dev

从嵌套函数调用时,compadd不起作用

来自分类Dev

ssh当以变量形式调用时while循环不起作用

来自分类Dev

从子组件调用时,回叫功能不起作用

Related 相关文章

  1. 1

    从C#调用时C#类方法确实起作用,但从VB.Net调用时则不起作用

  2. 2

    从类中调用时,清除主机不起作用

  3. 3

    从不同的类调用时,Java repaint() 不起作用

  4. 4

    为什么当从控制器中的不同函数调用时 view::make 不起作用?

  5. 5

    当从扩展插件的类中调用时,为什么调用扩展活动的类不起作用?

  6. 6

    从NSObject调用时,DBRestClient不起作用

  7. 7

    从BroadcastReceiver调用时,startActivity不起作用

  8. 8

    从NSObject调用时,DBRestClient不起作用

  9. 9

    从systemd调用时ssh不起作用

  10. 10

    从另一个类调用时,Java PropertyChangeListener不起作用

  11. 11

    为什么 mpl_connect 在类的 __init__ 中调用时不起作用?

  12. 12

    Oracle事务回滚不起作用

  13. 13

    Oracle事务回滚不起作用

  14. 14

    春季事务回滚不起作用

  15. 15

    Laravel - 事务回滚不起作用

  16. 16

    调用API控制器的Delete方法不起作用

  17. 17

    从控制器调用命令不起作用

  18. 18

    For循环在Laravel控制器类中不起作用

  19. 19

    For循环在Laravel控制器类中不起作用

  20. 20

    Grails 3控制器单元测试:域类验证在ControllerUnitTest中不起作用

  21. 21

    在python中调用时balance()方法不起作用

  22. 22

    从cron调用时脚本不起作用

  23. 23

    从外部方法调用时,RaphaelJS动画不起作用

  24. 24

    使用子流程调用时,卷曲不起作用

  25. 25

    执行函数调用时,Onclick函数不起作用

  26. 26

    通过.NET API调用时DynamoDB UpdateItem不起作用

  27. 27

    从嵌套函数调用时,compadd不起作用

  28. 28

    ssh当以变量形式调用时while循环不起作用

  29. 29

    从子组件调用时,回叫功能不起作用

热门标签

归档