Spring JPA Hibernate使用@Transactional控制事务:错误注入是否可能?

Spring JPA Hibernate使用@Transactional控制事务:错误注入是否可能?,spring,hibernate,testing,jpa,error-handling,Spring,Hibernate,Testing,Jpa,Error Handling,我正在我的MessageHook.onMessage()实现上使用@Transactional注释。接口来自ApacheJames,我正在使用Netty运行一个SMTP服务器 我想做的是:我想确保当数据库出现问题时,例如数据库提交时,我从smtp库中获取临时smtp错误代码。我想为该场景编写一个测试,以确保SMTP库的行为正确。有什么方法可以做到这一点吗?首选的解决方案是告诉Spring或底层数据库驱动程序模拟提交错误 Spring是否提供了这样的功能?或者是否有任何与Hibernate兼容的内

我正在我的
MessageHook.onMessage()
实现上使用
@Transactional
注释。接口来自ApacheJames,我正在使用Netty运行一个
SMTP
服务器

我想做的是:我想确保当数据库出现问题时,例如数据库提交时,我从smtp库中获取临时smtp错误代码。我想为该场景编写一个测试,以确保SMTP库的行为正确。有什么方法可以做到这一点吗?首选的解决方案是告诉Spring或底层数据库驱动程序模拟提交错误


Spring是否提供了这样的功能?或者是否有任何与Hibernate兼容的内存数据库提供该功能?

只是想澄清一下,您正在寻找一种集成测试,用于在对Spring注入服务的调用失败时测试SMTP代码的行为?不,我想确保框架提供我需要的结果。。。。示例:AOP和事务处理。在我的onMessage()代码运行后,将处理提交。如果失败,我希望确保SMTP库正确处理提交错误。可能出现的问题:在某些情况下,AOP会删除异常,而不会向上传播它们。这里的情况似乎不是这样,但我想检测可能会在将来改变这种行为的上游变化……我查看了Spring事务处理代码,方法描述说它抛出了被调用方法的异常(在我的例子中是onMessage()),但显然,它也会抛出由提交/回滚错误生成的任何异常。。。但这并没有记录在案。如果您能给我指出一个API文档片段,它确保了在使用Spring的@Transactional时提交/回滚/db错误的特定行为,我可能会放弃这项工作并依赖它。同时,我正在为JDBC数据源编写一个存根,让我在开始/提交/回滚时注入错误。