webclient远程调用
无论谁想获得自己的名声,都应该隐藏起他的自负。——斯威夫特 我们在webflux场景下可以使用webclient 依赖就包含在了webflux中 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId></dependency> 这里使用的话: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import cn.dev33.satoken.same.SaSameUtil;import cn.hutool.core.map.MapUtil;import cn.hutool.json.JSONUtil;import com.alibaba...
feign-reactive
晚饭少吃口,活到九十九。——钱大昕 https://github.com/openfeign/feign 目前feign不支持webflux、reactive 于是找到了一个三方库 https://github.com/kptfh/feign-reactive 基于Spring WebFlux的Reactive Feign客户端 安装: 12345678910111213141516171819202122232425262728293031323334<repositories> <repository> <id>bintray-kptfh-feign-reactive</id> <name>bintray</name> <url>https://dl.bintray.com/kptfh/feign-reactive</url> </repository></repositories>...<d...
多模块spring注入处理
踏破铁鞋无觅处,得来全不费功夫。——施耐庵 今天在搭建多模块项目时发现一个问题,其中一个公共依赖里需要注入的bean,注入不到字模块spring容器里去 最后在resources/META-INF/spring下面新建了org.springframework.boot.autoconfigure.AutoConfiguration.imports 内容为 12com.xxx.GlobalExceptionHandlercom.xxx.GlobalRestResultHandler 手动指定要注入的bean搞定了 见:2.7版本spring.factories弃用 | 阿超
通过条件跳过单元测试
散步慌言蜚语的人往往隐瞒自己的身份,狡黠地假托世人名字,比如,“世人说” “国外有一种说法” 等等。——培根 分享一个小技巧,我们可以使用 1Assumptions.assumeTrue(isConnected(), "Redis is not available. Skipping the test."); 在单元测试中判断,不满足条件则跳过测试 例如此处就是判断redis是否已连接,为true则会继续往下执行,为false则会skip
win安装docker desktop报错
任何装模作样的言行都是会令人厌恶的。——佚名 今天在win安装完Docker Desktop后报错: 1Docker Desktop - WSL kernel version too low 提示WSL kernel版本太低 123Docker Desktop requires a newer WSL kernel version.Update the WSL kernel by running "wsl --update" or follow instructions athttps://docs.microsoft.com/windows/wsl/wsl2-kernel. 这里进一步提示执行wsl --update 执行后重启就解决了
react生命周期弃用
强本而节用,则天不能贫;养备而动时,则天不能病;修道而不贰,则天不能祸。——荀子 在运行apache-shenyu发现很多警告 大致说是生命周期弃用了,并且提供了一个指南链接 https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html 指南中大致提到了几点,以及相关的例子 https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#examples 例如请求数据渲染时使用componentDidMount代替componentWillMount之类的场景 我也针对新建了一个issue,去处理优化掉这些弃用的生命周期 https://github.com/apache/shenyu-dashboard/issues/341
cim
你属于你的祖国,正如你属于你的母亲。——黑尔 分享一个开源项目 https://github.com/crossoverJie/cim https://crossoverjie.top/categories/Netty/ 📲cim(cross IM) 适用于开发者的分布式即时通讯系统 算是比较老的开源项目了 客户端向 route 发起登录。 登录成功从 Zookeeper 中选择可用 IM-server 返回给客户端,并保存登录、路由信息到 Redis。 客户端向 IM-server 发起长连接,成功后保持心跳。 客户端下线时通过 route 清除状态信息。
docusaurus国际化坑
你不教训儿子,生活就一定会来教训他。——佚名 今天做apache-streampark文档国际化时踩到一个坑,其使用的框架docusaurus它支持多版本的管理,所以需要套一层current目录标识版本号 对应的pr: https://github.com/apache/incubator-streampark-website/pull/256 就是将i18n/zh-CN/docusaurus-plugin-content-docs-community/移动到 i18n/zh-CN/docusaurus-plugin-content-docs-community/current/ 加了一层current目录即可正确匹配上了 之前的效果: 现在:
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...
WeMQ
礼貌是聪明的事,无礼是愚蠢的事,若非因必要或任性的无礼以致树敌,犹如在自己的家里纵火一样。——叔本华 WeMQ: WeMQ是一款面向物联网设备运营商的开源物联网设备调试系统,提供完整的物联网设备调试方案,集成设备管理、MQTT服务器管理、客户管理等功能,自研Nmqs通信层组件,实现了连接信息的加密,保证了数据的安全性。
