首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Springboot中将HTTP调用移到事务之外

在Springboot中将HTTP调用移到事务之外
EN

Stack Overflow用户
提问于 2020-02-24 03:03:32
回答 1查看 304关注 0票数 0

我们在Kotlin和springboot的项目作为框架。在我们的服务类中,我们有一堆代码,其中在标记为http的方法中很少有@Transactional调用。

我需要将http调用移到事务之外,因为这会造成性能问题。

代码如下所示:

代码语言:javascript
运行
AI代码解释
复制
@Transactional
Method1() {HTTP Call”
    Saving to DB
    “Call to another service B()}

在这个service B中,我们调用一个Method2()

代码语言:javascript
运行
AI代码解释
复制
Method2() {
 Bunch of operations and then it further Saves few objects to DB.
}

因此,基本上,@Transactional也负责所有嵌套的DB操作。

对此,有什么建议吗?为实现这一目标,可以采用哪些不同的策略?

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 02:48:15

所以我终于解决了这个问题。我不得不将我的方法从使用声明式事务管理改为编程方法。

代码语言:javascript
运行
AI代码解释
复制
Method1() {HTTP Call”
    TransactionTemplate.execute() {        // used this for the transaction management.
      Saving to DB
   } 
    “Call to another service B()}

然后在B服役

代码语言:javascript
运行
AI代码解释
复制
Method2() {
    “Another http call”
    TransactionTemplate.executewithoutResult(){    // used TransactionTemplate.executewithoutResult because this time I did not want the transaction to return me the result. 
         Saving to DB
   } 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60374535

复制
相关文章
SpringBoot之外部Tomcat
前言:其实springboot中web依赖了spring-boot-starter-tomcat,打包之后只需要在有java的服务器上运行即可。但有时候需要部署到tomcat统一管理。
王念博客
2019/07/25
6210
如何解决--在渲染函数之外调用插槽的问题
如果你是用 Vue 来开发项目的,那么,你曾经有可能访问 slot.default() 遇到如下问题:
前端小智@大迁世界
2022/10/27
5K0
springboot 事务嵌套问题_SpringBoot事务设置[通俗易懂]
@Transactional(noRollbackFor=Exception.class)
全栈程序员站长
2022/07/01
1.2K0
从Springboot迁移到Micronaut
JVM是一项伟大的技术。现代版本将运行的字节码编译为本机代码,具体取决于现有的工作负载。出于这个原因,JVM 应用程序在运行时性能方面与本机可执行文件不相上下,甚至胜过本机可执行文件。
用户4235284
2023/10/14
3970
Go HTTP 调用
无论是微服务还是单体架构等,服务间都有相互通信的时候,而最直接的通信方法就是 HTTP 调用,本文将会介绍在 Go 语言里,如何进行 HTTP 调用,并举例说明。
陈明勇
2023/10/15
3250
Go HTTP 调用
SpringBoot系列之外部配置用法简介
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
SmileNicky
2019/11/12
6020
SpringBoot事务详解
事务(transaction)是指业务逻辑上对数据库进行的一系列持久化操作,要么全部成功,要么全部失败。
全栈程序员站长
2022/07/01
1K0
SpringBoot事务详解
springboot本地事务
数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是 ACID;
一个风轻云淡
2023/10/15
1670
springboot发送http请求,springboot http post json
高久峰
2023/07/02
6270
springboot本地事务
数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是 ACID;
一个风轻云淡
2023/09/24
2460
在Java中将ArrayList转换为Array
In this tutorial you will learn how to convert ArrayList to Array in Java.
用户7886150
2021/04/29
1.9K0
soapui调用http请求
3、输入后点击ok,如果url正确,且网络没问题,则会进入下图。方框中填写入参,左侧箭头所指,大部分都是改为utf-8的格式。方法记得改为post
matinal
2023/10/13
4120
soapui调用http请求
RPC 调用和 HTTP 调用的区别
在说RPC和HTTP的区别之前,我觉的有必要了解一下OSI的七层网络结构模型(虽然实际应用中基本上都是五层),它可以分为以下几层:(从上到下)
用户4283147
2022/10/27
9400
RPC 调用和 HTTP 调用的区别
SpringBoot 事务注解@Transactional
SpringBoot提供了非常方便的事务操作,通过注解就可以实现事务的回滚,非常方便快捷,下面我们就说一下如何进行事务操作。
全栈程序员站长
2022/08/24
7610
SpringBoot使用事务
事务是很多项目中需要注意的东西,有些场景如果没有加事务控制就会导致一些脏数据进入数据库,本文简单介绍SpringBoot怎样使用事务。 本文使用的是之前整合JPA的文章,具体可以参考 传送门。 无论是配置还是pom文件等等,没有任何改变,改变的是测试的controller上面的两个方法,其中一个方法使用了@Transactional注解来进行事务控制。 controller代码如下: @RestController public class HouseController { @Autowired
dalaoyang
2018/06/13
5140
SpringBoot中事务配置
做个学习笔记。SpringBoot创建的项目由于不存在xml配置文件了,对于用惯Spring的xml配置事务犯了难,百度了下,大多文章都是用@Transactional对每一个方法或类手动添加任务,这样很麻烦,就自己摸索了下,实现了对指定切点事务的统一添加。有两种方式。PS:启动类,对,就是包含main方法的那个类一定要放在包的最外层,不然有很多坑。包括但不限于不能扫描到你配置的类,连接ES时自定义接口无法自动注入等等。
全栈程序员站长
2022/08/22
3940
SpringBoot中事务配置
SpringBoot事务注解@Transactional
SpringBoot提供了非常方便的事务操作,通过注解就可以实现事务的回滚,非常方便快捷,下面我们就说一下如何进行事务操作。
全栈程序员站长
2022/08/10
1.1K0
springboot事物oracle,SpringBoot 事务管理
事务管理是项目中必不可少的一部分,使用SpringBoot时,可以很方便的配置和使用事务管理器。
全栈程序员站长
2022/09/03
6640
SpringBoot事务管理
值得一提的是,事务为什么要放在Service层呢,我们进行事务管理的目的就是为了使几个对持久层的操作要么都成功,要么都失败,而不是一个失败一个成功,这样子数据就会出现很多问题,比如脏读、不可重复读、幻读
乐心湖
2020/07/31
1.3K0
SpringBoot事务管理
springboot事务管理
Propagation有7个常量值,常用的有REQUIRED和SUPPORTS,下面是各种值的解释:
源码之路
2020/09/03
5910

相似问题

在Slider中将分页移到组件之外

114

Springboot和事务

16

在jquery SuperSlides中将分页移到幻灯片之外-容器包装器之外

11

在角项目中将Http迁移到HttpClient

17

SpringBoot事务隔离级别

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档