Hystrix请求合并的使用(二)-天天即时
(资料图)
步骤4:创建Hystrix请求合并器执行器
接下来,我们将创建一个名为“GetDataCollapserExecutor”的类,该类用于执行Hystrix请求合并器:
@Servicepublic class GetDataCollapserExecutor { private final ExternalService externalService; @Autowired public GetDataCollapserExecutor(ExternalService externalService) { this.externalService = externalService; } @HystrixCollapser(batchMethod = "execute", collapserProperties = { @HystrixProperty(name = "timerDelayInMilliseconds", value = "100") }) public Future
如上所述,我们的GetDataCollapserExecutor类包含以下内容:
构造函数:该函数用于注入ExternalService实例。getData()方法:该方法使用@HystrixCollapser注解进行注释,该注解指定了一个名为“execute”的批量执行方法。在此示例中,我们将timerDelayInMilliseconds属性设置为100毫秒,这意味着如果100毫秒内有多个请求,则它们将被合并为单个请求。execute()方法:该方法使用@HystrixCommand注解进行注释,该注解指定了Hystrix请求合并器执行逻辑。在此示例中,我们遍历请求参数列表,并为每个请求创建一个GetDataCollapser实例。最后,我们将所有结果合并到一个HashMap中,并将其返回。步骤5:测试Hystrix请求合并器
现在,我们可以测试Hystrix请求合并器是否按预期工作。我们将创建一个名为“DataController”的类,并将其用于向客户端公开API:
@RestControllerpublic class DataController { private final GetDataCollapserExecutor getDataCollapserExecutor; @Autowired public DataController(GetDataCollapserExecutor getDataCollapserExecutor) { this.getDataCollapserExecutor = getDataCollapserExecutor; } @GetMapping("/data") public Map getData(@RequestParam List keys) throws ExecutionException, InterruptedException { List>> futures = new ArrayList<>(); for (String key : keys) { futures.add(getDataCollapserExecutor.getData(key)); } Map resultMap = new HashMap<>(); for (Future
如上所述,我们的DataController类包含以下内容:
构造函数:该函数用于注入GetDataCollapserExecutor实例。getData()方法:该方法使用@GetMapping注解进行注释,该注解指定了API的URL路径和请求方法。在此示例中,我们使用@RequestParam注解将请求参数列表注入方法参数,并使用Future和get()方法来获取Hystrix请求合并器的返回值。现在,我们可以使用Postman或类似的工具向API发送HTTP请求,并检查是否成功合并了多个请求。例如,我们可以向http://localhost:8080/data发送具有以下查询参数的GET请求:
?keys=key1&keys=key2&keys=key3
这将使用Hystrix请求合并器执行三个请求,并将其结果合并到单个响应中。
步骤6:启动应用程序并测试
现在,我们可以启动应用程序并测试它是否按预期工作。我们可以通过运行以下命令来启动应用程序:
mvn spring-boot:run
应用程序启动后,我们可以使用Postman或类似的工具向API发送HTTP请求,并检查是否已成功使用Hystrix请求合并器合并了多个请求。例如,我们可以向http://localhost:8080/data发送具有以下查询参数的GET请求:
?keys=key1&keys=key2&keys=key3
如果一切正常,我们将看到以下响应:
{ "key1": "Data for key1", "key2": "Data for key2", "key3": "Data for key3"}
这表明Hystrix请求合并器已成功执行三个请求并将其结果合并到单个响应中。
标签:
为您推荐
广告
随机阅读
- Hystrix请求合并的使用(二)-天天即时
- 小明星影视艺术培训学校_范冰冰影视艺术培训学校
- 4月10日21时江苏镇江疫情最新情况及镇江这次疫情累计多少例
- 笔筒折纸方法教程(到车请故意折纸笔筒)
- 美团app中发的红包自己如何领取?|环球快资讯
- 北京:外来沙尘进京 气温先升后降 全球热文
- 每日头条!前海开源杨德龙:主板首批注册制新股上市后定价处于合理区间
- 2023年山西行政村5G网络覆盖率要达到75% 实现100个乡村e镇“双千兆”网络覆盖
- 天天热资讯!别人拍我喝醉酒和别的男人拉拉扯扯的视频!威胁我要我给他发裸照
- 【世界报资讯】吉林一中又出了一个奥运奖牌得主,是不是越来越有名了呢?
- 特高压输电技术龙头股(特高压输电技术)
- 全球新资讯:酒企之变丨2023年中国白酒行业发展研究报告
- 护航亚运测试赛,迎战保供“模拟考”
- 环球今热点:南通支云的中超联赛赛程表2023(南通支云足球队最新转会)
- 安凯客车:4月7日获融资买入576.14万元,占当日流入资金比例23.81%
- 世界观速讯丨今天最新消息 上海新增社会面3例本土无症状感染者
- 全球微头条丨比亚迪斩获“中国汽车风云盛典”最高奖项,海豹这次真的“爆”了
- 3月末我国外汇储备规模 环比上升1.62%
- 凉州区举办2023年印刷发行企业监管业务及安全生产培训班
- 今日报丨詹姆斯·古恩:现在DC与MCU更有机会跨界合作了
- 1全国首个省级涉外法治研究会在沪成立-环球即时
- 2一季度广西新登记市场主体14.9万户,增长4.77%-环球报资讯
- 3每日看点!4月09日15时湖南湘西疫情最新动态及湘西原疫情最新总确诊人数
- 4皇马再次提升对姆巴佩的报价
- 5这次环台岛战备警巡与以往例行性巡逻有何不同?专家解答 全球速看料
- 6美国总统拜登下令为阿肯色州提供额外联邦援助
- 7广东上线“非居民跨境办税”场景 线上搞定境外企业办税难题|焦点日报
- 8什么是过载?什么是过流?
- 9免洗手液和洗手液哪一个更好
- 10近两千人参赛 天津市第九届少数民族传统体育运动会开幕-焦点滚动
- 1回母校看望老师送什么礼物好 即时焦点
- 2濮阳市一高分数线是多少_濮阳市一高分数线-快资讯
- 3至高优惠千元!iQOO会员日活动来袭 买手机送星巴克
- 4每日快报!樊振东房间遭球迷非法侵入 这样追星可“刑”吗?
- 5展技能风采,创美好生活!信阳市第一届职业技能大赛开赛 天天热资讯
- 6东经北纬怎么查位置_东经北纬-世界热资讯
- 7全球滚动:“奔跑吧• 少年”“红心杯”巴中市第二届幼儿展示大会幼儿足球联赛在中坝小学隆重开幕
- 8扫墓时遇到这样一场音乐会 每日速读
- 9今日快讯:TCL中环:拟发行可转债募资不超138亿元,投建单晶硅片、N型TOPCon电池等智慧工厂 焦点热议
- 10【快播报】火气很大!奥乔亚战国米10次扑救,获评8.8分全场最高
广告
财经
- 韵怎么组词_韵组词解释
- 两件大事:塞尔维亚背叛俄罗斯参加北约军演?以色列空袭黎巴嫩
- 突然!日本这里,1.8 亿粒扇贝死亡! 天天速看
- 2023三亚草莓音乐节时间及地点
- 积极入局大湾区建设,绿城管理与勤诚达、前海润禾共同探索集团化托管批量项目-今日热闻
- 苹果中国杀疯!iPhone14 售价跌破 5000 元 买它还是华为 P60?|时快讯
- 尝鲜!时令春菜正热销
- 广州城市理工学院举办五校联合RoboMaster机器人交流赛 全球微资讯
- 世界速看:武汉白癜风哪里好?自我中断白癜风治疗会有什么影响?
- 折磨切割纯良提督!初步揭露草莓猫Taffy真实面目 天天通讯
- 发力天猫超级品牌日,蕉下讲述轻量化户外品牌新故事 世界观热点
- 视点!神煞里有灾.煞是什么意思 合婚中灾.煞的查法
- 气候变化与不是森林的“幽灵森林”
- 前2月全国锂电总产量同比增长24%
- 当前头条:搜狐全球医讯 |《阿尔茨海默病杂志》:新冠感染加速各类型痴呆恶化
- 全球快看:谦寻“出淘” 抖音复制“薇娅”
- 扭力梁式非独立悬架和多连杆独立悬架怎么选_扭力梁式非独立悬架和多连杆独立悬架 天天百事通
- 环球今热点:中央结算公司发布《中债债券业务统计指标规范 第1部分:基础要素》等五项企业标准
- 散樱乱武 幽幽子DIY 当前看点
- 世界讯息:qq闪退是什么原因啊_qq闪退是什么原因