当前位置: 首页 > wzjs >正文

海南省建设银行官方网站招聘org后缀做网站行

海南省建设银行官方网站招聘,org后缀做网站行,html网页设计毕业设计,wordpress 透明文章Springboot websocket前端无法访问到,Websocket因AOP代理 前端无法请求到 问题出现 在我后端springboot启动后,前端无法请求websocket请求连接到我们websocket服务器。 想要的效果 在我后端springboot启动后,前端可以请求到我们websocket…

Springboot websocket前端无法访问到,Websocket因AOP代理 前端无法请求到

问题出现

在我后端springboot启动后,前端无法请求websocket请求连接到我们websocket服务器。

想要的效果

在我后端springboot启动后,前端可以请求到我们websocket服务器,并且进行交互。

问题排查

出现的问题A

出现问题的代码:

package com.gsxy.core.config;import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {@Overridepublic void configureMessageBroker(MessageBrokerRegistry config){config.enableSimpleBroker("/topic");config.setApplicationDestinationPrefixes("/app");}@Overridepublic void registerStompEndpoints(StompEndpointRegistry registry){registry.addEndpoint("/ws").withSockJS();}}

问题出在没有告诉spring遇见wensocket协议该如何处理。

改正后的代码:

package com.gsxy.core.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;@Configuration
@EnableWebSocket
public class WebSocketConfig  {@Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}}

出现的的问题B

问题出在Websocket在controller包下,在我们aop SystemAopImpl,对我们的contorller包下进行了所有代码增强。

/*** @author zhuxinyu 2023-10-23*/
@Component
@Aspect
public class SystemAopImpl implements SystemAop {/*** @author zhuxinyu 2023-10-23* 清理ThreadLocal 防止内存泄漏* @param joinpoint* @throws Exception*/@Override@After("execution(* com.gsxy.core.controller.*.*(..))")public void removeAllThreadLocal(JoinPoint joinpoint) throws Exception {ThreadLocalUtil.mapThreadLocalOfJWT.remove();ThreadLocalUtil.mapThreadLocal.remove();ThreadLocalUtil.DataOfThreadLocal.remove();}}

​ 因为在Spring AOP中使用的是IOC 和 AOP动态代理创建对象,在WebSocket中,如果代理类被代理了,可能会出现问题因为WebSocket容器会查找类上的注解,但是无法找到代理类上,因为@ServerEndpoint来自Java标准注解,并不是AOP,如果我们使用的是cglib动态代理技术,执行的是目标类的子类,这个字类包含我们的拦截逻辑和目标方法的引用,所以无法读取到websocket的注解,导致无法访问websocket,因为我们的websocket没有实现接口,默认实现的cglib动态代理技术,所以触犯了这个问题。jdk动态代理,他执行的是代理对象,这个代理类是包含了我们的环绕逻辑和我们目标类的代理对象,所以不会导致注解失效。

总结

使用websocket不能被cglib所代理。

必须告诉spring遇见websocket如何解决


文章转载自:

http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://00000000.kjyqr.cn
http://www.dtcms.com/wzjs/620453.html

相关文章:

  • 大淘客网站上的推广怎么做陕西网站建设公司找哪家
  • 网站拓扑图怎么做锡林郭勒盟网站建设
  • 做废旧回收哪个网站好关于做好学院网站建设的要求
  • yellow网站推广联盟网页不能下载的wordpress
  • 在家做网站设计什么网站容易做百度权重
  • 深圳网站开发哪家专业教学ppt模板免费下载完整版
  • 做网站要做相应的app吗外包网站开发合同
  • 平度推广网站建设临安做企业网站的公司
  • 滕州个人兼职做网站管理咨询网站建设
  • 天河建设网站公司网上注册公司的章程怎么下载出来
  • 有做学历在网站能查的到的网站建设平台官网要点有哪些
  • 保定哪家做网站公司好wordpress删除版权信息
  • 正规的app网站开发成都旅游学院简介
  • 如何撤销网站备案青岛seo排名公司
  • seo网站推广怎样深圳网站设计公司行业
  • 哪个网站建网页比较好备案查询工信部
  • 五寨网站建设安徽省建设工程信息网网
  • 怎么做视频解析网站吗河南省村镇建设处网站
  • 网页界面设计一般使用的分辨率东莞百度seo找哪里
  • discuz网站搬家教程网站建设的特征
  • 贵阳讯玛网站建设wordpress 图片墙
  • win7 网站系统怎么做友情链接购买
  • 刷单类网站开发wordpress zhong
  • 天津市津南区教育网站建设招标揭阳企业网页制作公司
  • 想自己做网站苏州专业做优化公司
  • 网站建设 腾云网络推广的方法
  • 网站横幅怎做西青网站文化建设
  • 河南网站建设37518企业网站改版方案
  • 网站制作哪些类型推广公司如何找客户
  • 夫妻性做受视频什么网站一站式服务平台登录