天天快消息!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请求合并器已成功执行三个请求并将其结果合并到单个响应中。
标签:
精彩推送
全球热头条丨奥斯卡计划实施规则变更:最佳影片增加影院发行要求
【ITBEAR科技资讯】4月1日消息,据国外科技媒体PuckNews报道,奥斯卡计划实施规则变更,要求参与提名和...
世界资讯:前TVB艺人新剧向21年前自己致敬,曾在台上公开抢麦克风捣乱
前TVB艺人新剧向21年前自己致敬,曾在台上公开抢麦克风捣乱,张孝全,罗家英,郑裕玲,阿sa,陶大宇,关智斌,...
新闻快讯
X 关闭
X 关闭
新闻快讯
- 天天快消息!Hystrix请求合并的使用(二)
- 全球速读:天外飞仙歌曲天亮以后_天外飞仙的所有歌曲
- “托幼一体化”解家长育儿之困-环球观速讯
- 超2250万台(套)各型装备投入春耕——农机化支撑粮食稳产增产
- 论文答辩陈述稿模板_论文答辩陈述
- 每日热闻!江苏盐城农商银行app下载安装(盐城农村商业银行网上银行)
- 全球报道:特锐德:特来电正积极布局居民小区充电基础设施建设
- 当前热讯:1 分钟看会网站备案
- 今日热搜:押注房地产致业绩失速!山东国信去年净利降4成
- 猪猪侠之梦想守卫者第14集_猪猪侠梦想守卫者全集 全球报资讯
- 马斯洛需求的五个层次都是什么_马斯洛需求的五个层次分别是什么|当前要闻
- 跟着旅发大会游贵州丨深挖世界级桥梁资源 贵州持续激活“桥旅融合”新动能
- 樊振东遭女士跟踪并入侵房间!小胖赶紧报警,网友:性质恶劣_当前速看
- 马英九率台湾青年学生造访三所大陆高校,盼两岸年轻人共筑美好未来 天天快资讯
- 要闻:农忙正当时 检察护春耕
- 4月7日基金净值:工银优质精选混合A最新净值3.326,涨1.03%_实时
- 储能变流器PCS的工作原理
- 全球简讯:足协公布2023赛季职业联赛参赛俱乐部名单
- 世界今日报丨业绩“变脸”预亏超2亿元,胜利精密股民索赔时效不足1个月
- 给亲戚领导送礼
- 2022一建成绩查询系统入口:中国人事考试网
- 天天百事通!斯达半导:2022年年度业绩说明会定于2023年4月17日举行
- 环球时讯:厉害!小伙只用一根毛竹凌空倒立翻转
- 浙江交科:2023年度公司及浙江交工拟使用合计不超12亿元暂时闲置募集资金及自有资金进行现金管理
- 全球微速讯:预录取是不是就稳了_预录
- 再添新动能 美中药协(中国)分会西部创新中心落地成都高新区_讯息
- 每日热文:惊不惊喜?为脱钩断链,韩企海外找新供应商,结果还是中国投的资
- 券商投行业务一季度遭遇“倒春寒”,较去年同期下滑17.60%
- 环球视讯!漫威当中“彩虹桥”的破坏力或许出乎你的想象,甚至有点BUG!
- 教育局回应老师双手扇学生耳光:涉事教师停职停课 学校向学生致歉-天天观点
- 天天播报:酒驾刑事拘留还是行政拘留
- LOL战地法师_lol战地法师 全球热头条
- tplink初始密码和帐号_tp link初始密码
- 全球快消息!22.8万人!美国首申失业金人数远超预期,美国经济今年或陷衰退?
- 天天速讯:公开曝光+联合惩戒!河南开展住建领域农民工欠薪专项整治
- 无锡惠山举办RCEP跨境电商高质量发展论坛
- 世界要闻:2023年北京八大处中国园林茶文化节展品征集活动通知
- 全球通讯!这些骗子盯上退税了!
- 天天观察:陕西省2023年一季度重点项目观摩⑤ 西安研发 渭南制造全球高端显示材料从这里输出
- 惠州成立全省首个市级数字政府建设产业联盟
- 全球短讯!灾区的孩子需要我们_观《唐山大地震》有感600字 《勇敢者的
- Vizio的支持Atmos的M系列5.1.2条形音箱现减100美元_热点在线
- 徐州免费hpv疫苗哪些人可以打?
- 世界快资讯:10万闲钱放哪里收益高 看看这里就清楚了
- 美国滥施单边制裁阻碍国际人权事业发展_天天热点评
- 文化 | 杂技剧,独属泉城的文艺新IP?
- 广州车牌资格审核结果在哪里查询(2023年4月)
- 厄瓜多尔阿劳西地区山体滑坡已致30人死亡
- 据报道,过去12个月,由于经济下行拖累创业公司的估值,这些公司的风投融资额大幅下降超过50%
- 宁都县气象台发布雷电黄色预警信号【III级/较重】|全球观点