异步转Mono
发表于|更新于
|浏览量:
小利不争,小忿不发,可以合众。——傅昭
今天分享一个异步方法转Mono的方式,利用reactor.core.publisher.Mono#create:
1 | return Mono.create(sink -> rtmClient.subscribe(channelName, options, new ResultCallback<Void>() { |
即可实现
相关推荐
2021-03-05
避免list中remove导致ConcurrentModificationException
凡不是就着泪水吃过面包的人是不懂得人生之味的人——歌德 我们在list循环中调用remove函数删除自身元素可能会导致java.util.ConcurrentModificationException 例如 1234// 构造从0到20的listList<Integer> list = Stream.iterate(0, i -> ++i).limit(20).collect(Collectors.toList());// 删除list.forEach(list::remove); 首先我们可以使用removeIf代替 1list.removeIf(i -> i.equals(i)); 其次我们可以使用迭代器 我们可以看到removeIf的源码正是使用了迭代器 如下 12345Iterator<Integer> iterator = list.iterator();while (iterator.hasNext()) { Integer nowNumber = iterator.next(); iterator....
2020-12-30
Collections.shuffle()
莫等闲,白了少年头,空悲切。——岳飞 转 Java.util.Collections类下有一个静态的shuffle()方法,如下: 1)static void shuffle(List<?> list) 使用默认随机源对列表进行置换,所有置换发生的可能性都是大致相等的。 2)static void shuffle(List<?> list, Random rand) 使用指定的随机源对指定列表进行置换,所有置换发生的可能性都是大致相等的,假定随机源是公平的。 通俗一点的说,就像洗牌一样,随机打乱原来的顺序。 注意:如果给定一个整型数组,用Arrays.asList()方法将其转化为一个集合类,有两种途径: 1)用List list=ArrayList(Arrays.asList(ia)),用shuffle()打乱不会改变底层数组的顺序。 2)用List list=Arrays.aslist(ia),然后用shuffle()打乱会改变底层数组的顺序。代码例子如下: 12345678910111213141516171819202...
2020-06-08
mybatis的xml中使用大于小于号
今天写一个范围查询接口的时候 发现一个问题,mybatis里的xml,我写小于的时候,它给我报错了?! 于是去网上搜了搜,原来是xml给我转义了。。。 大概有两种解决办法,一种是用替代符 12< #小于>= #大于等于 不过个人觉得这种阅读性太差,过久了说不定就不知道这啥玩意了 所以推荐第二种办法 12<![CDATA[<]]> #小于<![CDATA[>=]]> #大于等于 大于(大于等于)其实可以不加,但个人强迫症。。。 小于都加了,大于也加个吧hh
2022-05-10
连接流时如果是并行流
日出之美便在于它脱胎于最深的黑暗。——辛夷坞 代码: 1234System.out.println(Stream.concat(Stream.of(1), Stream.of(1)).isParallel()); // falseSystem.out.println(Stream.concat(Stream.of(1).parallel(), Stream.of(1)).isParallel()); // trueSystem.out.println(Stream.concat(Stream.of(1), Stream.of(1).parallel()).isParallel()); // trueSystem.out.println(Stream.concat(Stream.of(1).parallel(), Stream.of(1).parallel()).isParallel()); // true 结论:连接的两个流,只要其中有一个是并行流,最终的流则为并行流 顺...
2020-12-23
@ModelAttribute
小人之过也必文。——《论语》 如果我们需要在controller执行前做一些事情,除了使用AOP外,我们还可以使用@ModelAttribute注解 被@ModelAttribute注解的方法会在controller执行前执行并把结果传递给了下面controller里我们注解的参数 实际开发中可以用来鉴权、过滤参数等 12345678910111213141516171819202122232425262728293031package com.ruben.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @...
2023-09-23
sms4j对接阿里云短信
迷信、愚昧和虚伪腰缠万贯,但真理一直是一个乞丐。——马丁·路德 开通服务:新手指引_短信服务-阿里云帮助中心 首先安装: 12345<dependency> <groupId>org.dromara.sms4j</groupId> <artifactId>sms4j-spring-boot-starter</artifactId> <version>${sms4j.version}</version></dependency> 然后配置: 12345678910111213141516171819202122232425sms: # 标注从yml读取配置 config-type: yaml is-print: false blends: # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文) aliyun: # 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 supplie...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog