当前短讯!Hystrix请求合并的使用(二)
接下来,我们将创建一个名为“GetDataCollapserExecutor”的类,该类用于执行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中,并将其返回。现在,我们可以测试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请求合并器执行三个请求,并将其结果合并到单个响应中。
现在,我们可以启动应用程序并测试它是否按预期工作。我们可以通过运行以下命令来启动应用程序:
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请求合并器已成功执行三个请求并将其结果合并到单个响应中。
关键词:
接下来,我们将创建一个名为“GetDataCollapserExecutor”的类,该类用于执行Hystrix请求合并器:
公司:下班期间、休息日也得多看看微信群,做到及时回复客户信息。员工:这算加班吗?公司:回个微信,算什么加班,当然不算。作为职场的你,
聚氨酯原料回收,邯郸市丛台区诚轩化工有限公司主要回收的化工原料染料包括:染料、颜料、橡胶、塑料、加工助剂、石蜡、松香、树脂、色浆、香
美国财政部4日公布数据显示,截至3日,美国联邦政府债务规模首次超过31万亿美元,大大超过美国去年全年约23万亿美元的国内生产总值
2023年中山全球招商推介大会落幕,中山各镇街招商数据陆续公布。与中山其他镇街相比,翠亨新区(南朗街道)(下称“翠亨新区”)的数据非常抢
当大师笔触点亮嘉陵伟岸,当生活美居拥有精致艺术,云尚江来用伟大的艺术,奏响稀世绽放的序章。美妙、灵动、艺术、现实、抽象、魔幻、极简、
深交所上市审核委员会2023年第19次审议会议于2023年4月7日召开,审议结果显示,青岛海泰科模塑科技股份有限公司(证
人民日报北京4月9日电(记者李心萍)记者从中国国家铁路集团有限公司(以下简称“国铁集团”)获悉:一季度全国铁路完成固定资产投资1135 5亿
本文转自:人民网二手房交易迎来重大变化。自然资源部和中国银行保险监督管理委员会近日印发《关于协同做好不动产“带押过户”便民利企服务的
经常有人说:“美国不过两百年的历史,还能谈得上‘有文化’?”的确如此,在很多人心中,美国不过是一个历史短暂,显得肤浅的国家。但是,这
虽然治疗阿尔茨海默病的新药往往最受公众关注,但许多经过充分研究的治疗痴呆症患者的方法并不涉及药物治疗。一项新的评估将四种
这是第三届中国国际消费品博览会举办地——海南国际会展中心(4月7日摄,无人机照片)。第三届中国国际消费品博览会将于4月10日至15日在海南省
轰下全队最高邓恩打出精彩一战,邓恩,湖人,邓泽如,财政部长,犹他爵士队,财政部官员,nba常规赛
NBA常规赛收官战,湖人128-117击败爵士。詹姆斯本场比赛手感极佳,他25中13,三分14中8,罚球2中2,砍下36分6篮板6助攻1抢断1封盖,仅出现2失
英超焦点战,利物浦主场对阵阿森纳,第52分钟,霍尔丁送点,利物浦获得点球,萨拉赫主罚打偏!至此,萨拉赫连续两次在英超罚失点球!此前在英
3月22日,2023年重庆市社会保险工作会议召开。会上发布了2022年重庆市社会保险工作“成绩单”,其中,养老保险参保人数已达2572万人,失业、工
中新社重庆4月9日电(记者钟旖)第八届中国国际“互联网+”大学生创新创业大赛冠军争夺赛9日在重庆大学举行。图为活动现场。中新社发重庆大学供
生化危机4重置版破坏蓝色徽章4任务怎么完成,但是很多的小伙伴都不知道怎么才可以完成破坏蓝色徽章4,于是我就做了这份教大家完成破坏蓝色徽章
博众精工发布业绩预告,预计2023年1-3月归属净利润盈利4590万元至5280万元,同比上年增345 21%至412 14%。
她离开内娱后,剧作尺度一次比一次大