java - 在没有正在进行的事务的情况下如何进行外部调用?

标签 java hibernate spring jdbc jboss

我们在 JBoss 4.2.3 中使用 Spring 和 Hibernate,并调用外部系统,这可能需要一段时间,作为处理请求的一部分。为了消除长期存在的数据库锁,我们在外部调用返回之前不会写入数据库。 但是 Hibernate 不喜欢没有事务,因此我们有一个由 Spring 启动的只读事务,直到我们进行写入(在新的读写子事务中)。不幸的是,这仍然意味着我们在外部调用期间保留资源,即从池中分配的连接。 当执行的其余部分(之前和之后)需要一个事务时,有没有一种方法可以在没有正在进行的事务的情况下进行外部调用? 有没有更好的方法来推迟实际事务直到我们真正需要它并且仍然让 Hibernate 满意?

最佳答案

你的持久层需要调用外部系统吗?在你坚持之前,在外面做这种事情似乎更合乎逻辑。

关于java - 在没有正在进行的事务的情况下如何进行外部调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875023/

相关文章:

java - 如何在 Spring 应用程序中处理生产数据库的架构升级

java - 如何获取 RHINO 中变量的类型?

java - 代码可以在电脑上运行,但不能在手机上运行

java - Spring Data MongoDB 凭据

java - 如何为具有复合主键和外键的 oneToMany 关系创建 Hibernate 映射文件?

java - @JsonView 注释不起作用

javascript - 通过javascript代码获取带有Jsoup填充body标签的Html内容

hibernate - hibernate 搜索分页奇怪的行为

java - 在spring中配置mongodb,application.properties还是AbstractMongoConfiguration?

java - 我可以在 Spring MVC 的 ModelAndView 中返回两个模型吗