文章目录
yml数字配置自动转换进制的问题
源码:org.yaml.snakeyaml.constructor.SafeConstructor.ConstructYamlInt
- 0b开头自动转为2进制
- 0x开头自动转为16进制
- 0开头自动转为8进制
null
用~
表示
解决:将0开头的数字配置加上双引号"
,即可正常解析为配置的数字
找出集合(List/Set/Array)里出现频率最多的前N个
List<String> names = Arrays.asList("A", "A", "A", "B", "B", "B", "B", "C");
Set<String> deduplicationNames = names.stream().filter(s -> !"不限".equals(s))
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet()
.stream().sorted(Map.Entry.comparingByValue()).map(Map.Entry::getKey).limit(5)
.collect(Collectors.toSet());
feign更改请求URL、设置header
- 自定义拦截器,实现
feign.RequestInterceptor
接口 - 动态设置url:
template.target("http://127.0.0.1:9999");
- 设置header:
template.header("Authorization", token);
事务提交前MQ已经发送,导致消费者无法获取数据
问题描述:在被spring事务管理@Transactional
的方法里,insert或update某条数据,发送MQ处理与其关联的业务。事务还未提交MQ已经消费,
解决方案:有两种