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

在网站上做宣传seo优化网站推广全域营销获客公司

在网站上做宣传,seo优化网站推广全域营销获客公司,wordpress新用户默认角色设置,菏泽做企业网站文章目录 在WebSocket中使用Redis1.问题描述2.原因3.解决步骤1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例2.在WebSocketSingleServer.java中导入 在WebSocket中使用Redis 1.问题描述 在controller 和 service中都可以正常使用Redis,在…

文章目录

  • 在WebSocket中使用Redis
    • 1.问题描述
    • 2.原因
    • 3.解决步骤
      • 1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例
      • 2.在WebSocketSingleServer.java中导入

在WebSocket中使用Redis

1.问题描述

在controller 和 service中都可以正常使用Redis,在WebSocket中却报错?
在这里插入图片描述在这里插入图片描述

初次遇到这个问题,我还以为是字符串类型错误,改了两个小时才发现问题所在!!!

2.原因

在@ServerEndpoint注解类中使用@Resource或@Autowired注入失败。报出空指针异常。

原因是WebSocket是线程安全的,有用户连接时就会创建一个新的端点实例,一个端WebSocket是多对象的,使用的spring却是单例模式。这两者刚好冲突。

@Autowired注解注入对象是在启动的时候就把对象注入,而不是在使用A对象时才把A需要的B对象注入到A中。

而WebSocket在刚刚有说到,有连接时才实例化对象,而且有多个连接就有多个对象。总结就是,WebSocket是多对象的。不管单独使用也好,结合spring也好,或者结合SpringBoot也罢,他都是多对象的。

3.解决步骤

1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例

package com.example.utils;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.stereotype.Component;@Component
public final class SpringUtils implements BeanFactoryPostProcessor {private static ConfigurableListableBeanFactory beanFactory;@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {SpringUtils.beanFactory = beanFactory;}public static ConfigurableListableBeanFactory getBeanFactory() {return beanFactory;}/*** 获取对象** @param name* @return Object 一个以所给名字注册的bean的实例* @throws org.springframework.beans.BeansException*/@SuppressWarnings("unchecked")public static <T> T getBean(String name) throws BeansException {if (getBeanFactory() == null) {//zhengkai.blog.csdn.netSystem.out.println("本地调试Main模式,没有BeanFactory,忽略错误");return null;} else {T result = (T) getBeanFactory().getBean(name);return result;}}/*** 获取类型为requiredType的对象** @param name* @return* @throws org.springframework.beans.BeansException*/public static <T> T getBean(Class<T> name) throws BeansException {if (getBeanFactory() == null) {//zhengkai.blog.csdn.netSystem.out.println("本地调试Main模式,没有BeanFactory,忽略错误");return null;} else {T result = (T) getBeanFactory().getBean(name);return result;}}/*** 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true** @param name* @return boolean*/public static boolean containsBean(String name) {return getBeanFactory().containsBean(name);}/*** 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)** @param name* @return boolean* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().isSingleton(name);}/*** @param name* @return Class 注册对象的类型* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().getType(name);}/*** 如果给定的bean名字在bean定义中有别名,则返回这些别名** @param name* @return* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().getAliases(name);}}

2.在WebSocketSingleServer.java中导入

    @Resourceprivate StringRedisTemplate stringRedisTemplate= SpringUtils.getBean(StringRedisTemplate.class);
http://www.yayakq.cn/news/327463/

相关文章:

  • 中国做的比较好的电商网站有哪些wordpress 个人简历模板
  • 南通电子商务网站建设济宁建站公司
  • 网站建设 后期维护网站建设开发ppt
  • 网站建设关键词排名优化智能手机app开发
  • 网站建设 图片栏目介绍大连搜狗
  • 珠海网站制作定制贵阳免费网站建设
  • 一个企业做网站需要什么资料微信公众号和wordpress
  • 网站导航cms网站建设的优点和不足
  • 网站搭建代理广州市酒店网站设计
  • 做网站公司的未来中国机械加工网站
  • 站长友情链接信宜网站开发公司
  • 湘西网站建设花垣站长工具seo综合查询论坛
  • 网站建设968做图去哪个网站找素材
  • 尼乐清网站建设怎么利用网站做产品推广
  • 东莞手机手机端网站建设山东省建设厅继续教育网站
  • 东莞模板建站平台dw 如何做自适应网站
  • 沈阳网站制作哪家好网站规划与建设大作业
  • 文章资讯类网站公司网站设计与制作
  • 比较优秀的国外wordpress网站wordpress子页面密码错误
  • 国外做兼职的网站宜家家居官网网上商城
  • 做二手的网站有哪些wordpress站点预览
  • 做网站的目的是什么自己做网站教程
  • 无锡电子商务网站建设公司网站推广由什么样的人来做
  • 漫画网站开发说明网站规划设计流程
  • 网站建设实习业务介绍智慧团建网
  • 申请域名后怎么做网站wordpress内链 非插件
  • 如何建立网站快捷方式到桌面公司网站域名申请流程
  • 可信赖的网站建设案例郑州怎样建设公司网站
  • 做网站需要注意什么做ppt一般在什么网站
  • 网站建设服务器租用东莞大岭山俪仁妇产医院