广告
返回顶部
首页 > 资讯 > 精选 >如何解决shiro定时监听器不生效的问题
  • 341
分享到

如何解决shiro定时监听器不生效的问题

2023-06-20 18:06:45 341人浏览 薄情痞子
摘要

这篇文章主要讲解了“如何解决shiro定时监听器不生效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决shiro定时监听器不生效的问题”吧!问题redis 抛出异常:Redis.

这篇文章主要讲解了“如何解决shiro定时监听器不生效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决shiro定时监听器不生效的问题”吧!

问题

redis 抛出异常:

Redis.clients.jedis.ScanResult.getStrinGCursor()Ljava/lang/String;Method threw 'java.lang.NoSuchMethodError' exception.

说明

spring-boot 版本

 <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.4.5</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>

shiro-redis版本

 <dependency>   <groupId>org.crazycake</groupId>   <artifactId>shiro-redis</artifactId>   <version>3.2.3</version></dependency>

jedis版本

如何解决shiro定时监听器不生效的问题

shiro设置定时检测session失效

shiro配置session失效时间,没有引用shiro-quartz ,采用默认的

ExecutorServiceSessionValidationScheduler

shiro 配置

  @Bean    public SessionManager sessionManager(SimpleCookie simpleCookie, SessionDAO sessionDAO) {        logger.debug("安全框架配置:开始sessionManager配置");        SkySessionManager skySessionManager = new SkySessionManager();        skySessionManager.setSessionDAO(sessionDAO);        skySessionManager.setSessionIdCookie(simpleCookie);        // 开启cookie        skySessionManager.setSessionIdCookieEnabled(true);        // session 失效删除session        skySessionManager.setDeleteInvalidSessions(true);        // 定期检查 失效的 session        skySessionManager.setSessionValidationInterval(10000);        // 开启 schedule        skySessionManager.setSessionValidationSchedulerEnabled(true);        skySessionManager.setSessionListeners(Collections.singletonList(new SkySessionListener()));        logger.debug("安全框架配置:结束sessionManager配置");        return skySessionManager;    }

shiro schedule 创建逻辑

如何解决shiro定时监听器不生效的问题

如何解决shiro定时监听器不生效的问题

如何解决shiro定时监听器不生效的问题

如何解决shiro定时监听器不生效的问题

问题出现点

当创建完默认的scheduler 后会执行一次 run方法。

如何解决shiro定时监听器不生效的问题

继续跟踪代码

如何解决shiro定时监听器不生效的问题

发现 此处有异常,但是异常并未被捕获,导致线程中断。

网上百度此异常 说是,jedis版本不一致导致。

解决方案

查看shiro-redis pom文件jedis的版本号。

如何解决shiro定时监听器不生效的问题

发现jedis版本号为2.9.0

将jedis 2.9.0 集成进项目

<dependency>  <groupId>redis.clients</groupId>  <artifactId>jedis</artifactId>  <version>2.9.0</version></dependency>

至此问题解决。

 @Overridepublic void onExpiration(Session session)

onExpiration 方法不调用的问题, 此方法是通过上面的定时任务提醒来进行触发的。

如何解决shiro定时监听器不生效的问题

由于,redis 和ehcache 本身设置了过期时间,过期之后 session 变从 redis 后者ehcache 里面删除,因此 onExpiration 过期之后此方法 永远不会被调用到。

感谢各位的阅读,以上就是“如何解决shiro定时监听器不生效的问题”的内容了,经过本文的学习后,相信大家对如何解决shiro定时监听器不生效的问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何解决shiro定时监听器不生效的问题

本文链接: https://www.lsjlt.com/news/299062.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决shiro定时监听器不生效的问题
    这篇文章主要讲解了“如何解决shiro定时监听器不生效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决shiro定时监听器不生效的问题”吧!问题redis 抛出异常:redis....
    99+
    2023-06-20
  • 解决shiro 定时监听器不生效的问题 onExpiration不调用问题
    问题 redis 抛出异常: redis.clients.jedis.ScanResult.getStringCursor()Ljava/lang/String; Method ...
    99+
    2022-11-12
  • 如何解决@NotBlank不生效的问题
    解决@NotBlank不生效 在项目开发中,发现一个类中包含有另外一个类,这种包含关系的类上的@NotBlank校验不生效,后来发现需要在内部的类的域上加上@Valid注解,如下: ...
    99+
    2022-11-12
  • 如何解决PHP opcache 不生效问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决PHP opcache 不生效问题Opcache修改配置不生效的历程:在安装Nextcloud的时候总是遇到一个非常棘手的问题: 官方要求opcache.max...
    99+
    2018-08-26
    PHP opcache
  • 如何解决mac php不生效问题
    本文操作环境:MAC OS X 10.9.1系统,PHP5版,MacBook Air 2019电脑。如何解决mac php不生效问题Mac环境变量不生效的问题(将php添加到环境变量)。Mac环境变量不生效,关键在于bash和zsh举例:将...
    99+
    2015-07-07
    mac php
  • 如何解决重装oracle后监听不能启动的问题
    这篇文章给大家介绍如何解决重装oracle后监听不能启动的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。需要卸载现有的oracle,然后重新安装oracle。刚刚听朋友说,如果卸载...
    99+
    2022-10-18
  • idea中JRebel不生效问题如何解决
    这篇文章主要介绍“idea中JRebel不生效问题如何解决”,在日常操作中,相信很多人在idea中JRebel不生效问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”idea中JRebel不生效问题如...
    99+
    2023-07-05
  • linux cron定时任务不生效如何解决
    要解决Linux cron定时任务不生效的问题,可以按照以下步骤进行排查和修复: 检查cron服务是否正常运行: 通过命令sy...
    99+
    2023-10-23
    linux
  • 如何解决Mybatis-plus中@TableField不生效问题
    这篇文章主要介绍如何解决Mybatis-plus中@TableField不生效问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mybatis-plus的坑@TableField不生效事件回归实体类定义字段中是带下划...
    99+
    2023-06-26
  • 如何解决SpringBoot Shiro权限注解不起作用的问题
    本篇内容主要讲解“如何解决SpringBoot Shiro权限注解不起作用的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决SpringBoot Shiro权限注解不起作用的问题”吧!...
    99+
    2023-06-20
  • element-plus dialog v-loading不生效问题如何解决
    这篇文章主要介绍“element-plus dialog v-loading不生效问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“element-plus d...
    99+
    2023-07-05
  • 如何解决Spring in action @valid验证不生效的问题
    解决Spring in action @valid验证不生效 按照书上的示例代码来实现但是,添加了验证但是没有生效。 Spring提供了校验Api是使用但是没有提供实现,所以需要自己...
    99+
    2022-11-12
  • 如何解决Spring Security的权限配置不生效问题
    这篇文章主要介绍如何解决Spring Security的权限配置不生效问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Security权限配置不生效在集成Spring Security做接口...
    99+
    2023-06-29
  • Linux中crontab输出重定向不生效问题的解决方法
    问题 在linux中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“cronta...
    99+
    2022-06-04
    crontab怎么重定向 linux crontab用法 crontab重定向
  • Java调用shell命令涉及管道、重定向时不生效问题及解决
    目录Java调用shell命令涉及管道、重定向时不生效Java执行shell遇到的各种问题1、判断子进程是否执行结束2、Process.waitFor()导致当前线程阻塞3、shel...
    99+
    2022-12-23
    Java调用shell命令 Java shell命令管道 重定向不生效
  • 如何解决SysTick定时器错误问题
    这篇文章主要介绍“如何解决SysTick定时器错误问题”,在日常操作中,相信很多人在如何解决SysTick定时器错误问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决...
    99+
    2022-10-19
  • MySQL子查询中order by不生效问题的如何解决
    这篇文章主要介绍“MySQL子查询中order by不生效问题的如何解决”,在日常操作中,相信很多人在MySQL子查询中order by不生效问题的如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MyS...
    99+
    2023-06-20
  • 如何解决XP系统锁定时不关机的问题
    这期内容当中小编将会给大家带来有关如何解决XP系统锁定时不关机的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。很多用户抱怨在使用电脑的过程中,总是经常会被琐碎的事情打断,有时候难免暂时离开电脑,处于便...
    99+
    2023-06-14
  • 如何解决css高度设置百分比不生效的问题
    这篇文章主要讲解了“如何解决css高度设置百分比不生效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决css高度设置百分比不生效的问题”吧! ...
    99+
    2022-10-19
  • 如何解决navicat监听程序当前无法识别的问题
    这篇文章主要介绍了如何解决navicat监听程序当前无法识别的问题,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。用navicat连接oracle...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作