cannot open shared object file: No such file or directory
偿付能力,完全是个调节问题,不是收入问题。——洛根·史密斯 今天集成声网native rtc-linux-server-sdk的时候,遇到报错: 1234567Caused by: java.lang.UnsatisfiedLinkError: /usr/java/packages/lib/libbinding.so: libagora_rtc_sdk.so: cannot open shared object file: No such file or directory at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) ~[na:na] at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) ~[na:na] at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLib...
spring-state-machine拦截器
不乘人于利,不迫人于险。——刘向 继续分享spring-state-machine状态机的拦截器使用,这里需要留意一个细节: 如果一个事件没有被状态机接受(例如当前状态不是事件的source导致无法转换) 则不会进入拦截器进行处理(但监听器仍然工作,监听器的博客) 这里配置拦截器也很简单: 1234567891011machine.addStateMachineInterceptor(new StateMachineInterceptorAdapter<TestStates,TestEvents>() { @Override public void postStateChange(State<TestStates, TestEvents> state, Message<TestEvents> message, Transition<TestStates, TestEvents> transition, StateMachine<TestStates, TestEvents> stateMac...
spring-state-machine监听器
在做艺术家之前,先要做一个人。——罗丹 分享一个spring-state-machine监听器的用法: 12345678910111213141516171819202122232425262728293031323334353637383940stateMachine.addStateListener(new StateMachineListenerAdapter<States, Events>() { @Override public void stateEntered(State<States, Events> state) { StateMachineMessage message = new StateMachineMessage(); message.setMessage("Enter state " + state.getId().toString()); simpMessagingTemplate.convertAndSend("/topic/sm.messag...
feign使用url参数传参@SpringQueryMap使用
与人沟通,最重要的事情是听取没有说出来的话。——德拉克 今天使用open-feign发起请求时发现个问题,我特别喜欢的url参数传参不好使了: 12345@FeignClient("another-service")public interface MyFeignClient { @GetMapping("/foo/bar") Foo<Bar> get(Foo bar);} 对应我们的controller 12345@GetMapping("foo/bar")public Foo<Bar> get(Foo bar) { // ... return foo;} 然后发起了请求发现根本没收到参数。。。 但如果我们添加了注解@RequestParam 12345@FeignClient("another-service")public interface MyFeignClient { @Get...
docker启动xxl-job-admin
行路多者见识多。——托·富勒 xxl-job官网: 分布式任务调度平台XXL-JOB 这里首先如果直接按照文档里写的 1docker pull xuxueli/xxl-job-admin 很容易拉取失败 我们找到最新版 https://hub.docker.com/r/xuxueli/xxl-job-admin/tags 然后带参数执行: 12345docker run \ -e PARAMS="--spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=root" \ -p 18080:8080 \ --name xxl-job-admin \ -d xuxueli...
toastify-js
无论掌握哪一种知识,对智力都是有用的,它会把无用的东西抛开而把好的东西保留住。——达·芬奇 分享一个前端消息提示组件库ToastifyJs https://github.com/apvarun/toastify-js 引入: 1npm install --save toastify-js 或者 123<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css"><script src="https://cdn.jsdelivr.net/npm/toastify-js"></script> 使用: 1Toastify({ text: "This is a toast", duration: 3000 }).showToast(); 复杂例子: 123456789101...
spring bean销毁
天才只可以体会,但绝不能模仿。——狄德罗 对于spring bean销毁,可以使用两种方式: 1.实现org.springframework.beans.factory.DisposableBean接口,重写destroy方法 2.添加jakarta.annotation.PreDestroy注解 但是要注意,例如我这里的代码: 123456789101112131415161718192021222324252627282930313233343536import io.agora.rtm.RtmClient;import jakarta.annotation.PreDestroy;import jakarta.annotation.Resource;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.annotation.Bean...
rabbitmq动态创建队列
谁都饶恕比谁都不饶恕同样残忍。——塞涅卡 分享一个动态创建rabbitmq队列的代码: 依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency> 配置: 123456spring: rabbitmq: host: localhost port: 5672 username: xxx password: xxx 代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445import com.alibaba.nacos.common.utils.JacksonUtils;import lombok.extern.slf4j.Slf4j;import org.spr...
docker运行声网linux-server-sdk示例
人类的天性是容易忘记感激别人,所以,如果我们施一点点恩惠都希望别人感激的话,那一定会使我们大为头痛。——戴尔·卡耐基 首先是下载: 下载 - 云信令(原实时消息) - 文档中心 - 声网Agora Agora_RTM_SDK_for_Linux_Java_v1_5_1.zip其中有个samples/Agora-RTM-Tutorial-Java,我们将 libs/libagora_rtm_sdk.so libs/agora_rtm.jar 复制到samples/Agora-RTM-Tutorial-Java/lib下 然后在samples/Agora-RTM-Tutorial-Java下执行命令: 1mvn install:install-file -Dfile=lib/agora_rtm.jar -DgroupId=io.agora.rtm -DartifactId=agora-rtm-sdk -Dversion=1.0 -Dpackaging=jar 然后注意修改代码中的AppId和token 这里我的token采取服务端生成,因此我们还需要这一个jar 12345...
jetbrains-gateway远端开发
欠债是最不堪忍受的贫困。——托·富勒 今天下载了Jetbrains Gateway,没有用Jetbrains Toolbox的可以在官网下载: JetBrains Gateway - Remote Development for JetBrains IDEs 点击New Connection 输入IP和用户名 等待下载和配置 然后使用~可以远端直接DEBUG,对于开发期间连调和一些依赖Linux环境的场景都可以使用
