【发布时间】:2011-11-29 16:33:29
【问题描述】:
是否可以在 Spring 应用程序中使用 JTA 事务注册某种回调?
我有一些模拟服务代表属于另一个应用程序的远程服务,这些应用程序通常使用 Spring 的HttpInvoker 访问。这些模拟服务使用Maps 等以简单的方式对内存中的数据进行建模。
单元测试不一定知道哪些服务可能会被使用;测试用例所针对的服务可能会在幕后使用它们。
单元测试是事务性的,Spring 的SpringJUnit4ClassRunner 将在每次测试后回滚事务,这意味着我们的单元测试数据库的状态在测试之间保留。
如何回滚此自定义内存服务实现的状态?如果有办法找出当前是否有交易正在进行,那么我希望有一种方法可以在交易完成之前使用TransactionManager 注册回调。
【问题讨论】:
标签: spring unit-testing transactions junit jta