- 博客(24)
- 收藏
- 关注
原创 即时通讯代码优化
在进行测试时,发现当前代码有个问题,如果test1在服务器进行连接,本地的test2给test1发消息,虽然test1能收到服务器上的信息,但是本地服务日志中会报teset1不在线,需要对该种情况进行修复修复方案:使用redis存储在线用户利用setBit记录登录用户,key为用户名的hashcode,即便有可能冲突,但是概率较小,可以接受。适配改变类型后的WEB_SOCKET_ENDPOINT_MAP,并调整代码结构。
2024-10-18 17:22:09 537
原创 基于WebSocket实现简易即时通讯功能
其原因为Spring的bean管理是单例的,但是WebSocket是多对象的,当新用户进入系统时,会创建一个新的WebSocketEndpoint对象,但是不会再注入WebSocketMessageService,这样就会导致其为null。若想解决该问题,可以使用static修饰WebSocketMessageService,static修饰的对象属于类,而非实例,其在类加载时即可进行初始化。例如,本次实例demo的ws连接如下,userName为自定义参数,测试使用,非必须,根据自身需求调整即可。
2024-10-10 20:03:06 872
原创 利用Idea远程调试
注意:远程调试不要应用在正式环境中,即便是测试环境也只建议在开发网段使用在实际的开发过程中,为了验证测试环境的一些问题,且问题在本地不可复现,可以使用远程debug的形式来进行问题定位,而不用循环进行加日志->定位问题这个过程。
2024-09-12 15:05:20 477
原创 Windows下Nacos搭建与测试
进入,下载想要下载的版本,本次是为了验证一个2.1.2版本nacos配置中心中扩展配置的问题,所以选择了2.1.2下载后是一个zip压缩包,可自行解压缩。
2024-08-30 10:33:15 656
原创 Swagger
这里有个问题,正常的分布式微服务项目可能有很多个服务,每一个微服务对应一个地址使用起来比较麻烦,那么能不能把所有服务的文档在一个swagger-ui中显示呢,答案是肯定的,下面来说明下实现方案。实现思路其实就是从注册中心获取各个微服务,然后通过网关去访问各个服务的/v2/api-docs接口,通过网关访问可能会有跨域报错,解决方案可参考。同时swagger上可能不想访问到某些服务的文档,像gateway,一般不会有业务接口写到gateway上,因此也需要支持排除功能。首先让我们定位下上图中的两个接口。
2024-08-29 17:37:24 1242
原创 Gateway解决跨域问题
正常学习测试无需CusGatewayProperties类,该类只是实现可以在yml中配置的功能,直接将CusGatewayConfiguration中的相关属性替换成yml中想配置的值即可。
2024-08-29 11:37:28 495
原创 Gateway报错TooLongHttpLineException解决方案
feign调用get接口时,gateway报错io.netty.handler.codec.http.TooLongHttpLineException: An HTTP line is larger than 4096 bytes。postman访问状态码为414。
2024-08-28 10:01:27 1570
原创 Nexus
不以管理员模式运行可能会报错Could not open SCManager.注意:nexus.exe /start后需等待nexus启动完成后才能访问,而不是出现了Starting service 'nexus'就能访问点击登录会提示密码所在位置。
2024-08-20 11:48:25 545
原创 Centos安装配置SqlServer
可以根据navicat版本的不同在navicat的安装目录运行sqlncli_x64.msi或者msodbcsql_64.msi。application.yml中的url添加encrypt=false;连接前需放行相应端口,默认为1433。
2024-08-19 19:30:19 708
原创 Centos安装配置Docker
验证docker是否安装成功。查看docker状态。查看docker版本。查看docker镜像。删除docker镜像。
2024-08-16 11:20:53 278
原创 Centos安装配置Redis6.x
redis.conf中需要变更的部分(比较简单的配置,其余配置可自行搜索)redis6新增了用户名密码验证的方式,我们可以先看下默认的用户列表。在redis.conf中禁用default用户,新建新用户。
2024-08-08 11:33:38 301
原创 SpringSecurity基础学习-功能完善
在数据库中手动维护用户信息是不合理的,同时数据库中存储明文密码也很容易出问题,因此注册接口是一个必须的接口。
2024-07-18 13:57:25 382
原创 SpringSecurity基础学习-权限认证
SpringSecurity除了身份认证之外,还支持授权管理,其授权维度分为两类:role、authority。
2024-07-02 20:29:55 1152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人