- 博客(39)
- 收藏
- 关注
原创 解决shiro 定时监听器不生效的问题 onExpiration不调用问题
主要是因为 shiro-redis 中引用的版本与项目中实际使用的jedis.jar 版本不匹配所导致的。此时项目中的jedis 版本位 3.30;而 shrio-redis 中引用的为2.90。查看shiro-redis pom文件jedis的版本号。发现jedis版本号为2.9.0。发现jedis版本号为2.9.0。问题得到解决,参考文章。
2024-04-09 23:19:55
251
原创 java 工具类静态方法 依赖引用外部 接口bean null问题解决
使用 @PostConstruct 注解加 init() 将引用变量赋值给 类私有变量解决。
2024-03-06 10:48:50
500
1
原创 SpringBoot apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException: Stream ende
:Processing of multipart/form-data request failed. Stream ended unexpectedly。(注:之前是9.0.31,升级到了9.0.35,问题得到了解决)最近将自己开发的一个系统接入了https,出现一个问题,文件上传偶尔会失败了。http访问上传文件接口正常但切到https访问上传文件接口失败。
2022-11-03 14:15:05
1555
1
转载 由LifecycleBeanPostProcessor引起spring缓存失效说起
由LifecycleBeanPostProcessor引起spring缓存失效说起springBean 加载时候各方法执行顺序shiro引起的种种坑springcache初始化过程spring事务初始化过程1 shiro 造成springcache失效spring4.1.6 + springmvc + spring-shiro1.4.2shiro 造成注入配置文件失效springboot2.1.7 + spring-shiro1.4.2shiro造成事务失效?本人没有关注是否存在这个问题, 但是
2022-07-12 16:13:51
241
转载 Oauth2是什么&怎么用, java web鉴权认证
https://blog.youkuaiyun.com/finalheart/article/details/103102828
2022-06-07 16:59:48
251
原创 SpringBoot Shiro 多用户登录控制及同一浏览器登录多个账号 session相互覆盖问题
SpringBoot Shiro 框架实现同一个浏览只能一个账号登录问题点:同一个浏览器上登录多个三员账号,后登陆的会覆盖前面的session,但是前面的页面没有退出(后续请求使用的是后登录的用户的session),导致日志记录等获取的当前操作主体不准确解决:在 login 方法中加入以下方法 Subject subject = SecurityUtils.getSubject();if(subject.getPrincipal()!= null){ String msg2=
2022-05-27 11:31:15
4454
转载 为什么JDK动态代理只能代理接口,不能直接代理类?CGlib为什么可以代理类?
在?撸个问题。一、JDK动态代理与CGlib动态代理二、为什么JDK动态代理只能代理接口,不能直接代理类?(一)简单的实现JDK动态代理三、CGlib为什么可以代理类?————————————————版权声明:本文为优快云博主「林熙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/lx1315998513/article/details/120641124...
2022-05-09 15:08:07
243
转载 IDEA的debug调试技巧详解
转载 https://blog.youkuaiyun.com/future_god_qr/article/details/121250865
2022-05-09 14:11:57
108
转载 RPC实现Consumer 远程调用
RPC实现Consumer 远程调用梳理一下基本的实现思路,主要完成一个这样的功能:API 模块中的接口功能在服务端实现(并没有在客户端实现)。因此,客户端调用API 中定义的某一个接口方法时,实际上是要发起一次网络请求去调用服务端的某一个服务。而这个网络请求首先被注册中心接收,由注册中心先确定需要调用的服务的位置,再将请求转发至真实的服务实现,最终调用服务端代码,将返回值通过网络传输给客户端。整个过程对于客户端而言是完全无感知的,就像调用本地方法一样。具体调用过程如下图所示:1.服务提供者pac
2022-05-09 13:42:12
252
转载 Spring - DeferredResult 异步返回实现
Spring - DeferredResult 异步返回实现KeywordLongPolling、长轮询、请求异步返回前言通常我们经常会遇到一些需要实现异步返回的场景,如长轮询、服务器端处理流程较为复杂并且处理时间比较长的情况,这个时候,如果接受http请求的线程被一直阻塞着,会导致服务器端无法接受处理更多的请求,导致拒绝服务的问题出现,这个时候,将接收请求的线程让出来,会大大提升服务器端并发能力。Spring在3.2的版本上就已经为我们提供的相应的机制,以应对Http Nio的场景。笔者在以下
2022-04-20 13:33:09
804
原创 SpringBoot @Async异步注解
1.SpringBoot @Async 注解的使用方式 在启动类中加上@EnableAsync ,在异步类方法上使用@Async 注解生效原理 Spring 底层会用 Aop 去检测到有@Async 注解的方法,然后创建一个代理方法进行异步操作, 在Spring 中 会根据两个条件决定不使用 SimpleAsyncTaskExecutor(无界队列,一个请求就创建一个线程), (1) @Async(value) 指定特定线程池 (2) SpringFactor 中没有线程池
2022-04-20 13:26:36
5523
1
原创 Spring及Springboot 异步请求
1.java 异步请求Spring在3.2的版本上就已经为我们提供的相应的机制,以应对Http Nio的场景。官方文档中说DeferredResult和Callable都是为了异步生成返回值提供基本的支持。 *简单来说就是一个请求进来,如果你使用了DeferredResult或者Callable,在没有得到返回数据之前, DispatcherServlet和所有Filter就会退出Servlet容器线程,但响应保持打开状态, 一旦返回数据有了,这个DispatcherServlet就会被再次调用并
2022-04-20 11:14:21
1181
转载 springboot 集成swagger流程,弹窗、页面不显示等疑难杂症以及解决办法
springboot 集成swagger流程,弹窗、页面不显示等疑难杂症以及解决办法
2022-04-01 15:35:38
4379
转载 优秀博客链接(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM AI 深度/机器学习 opencv nlp)
优秀博客链接(linux c/c++ java go php android ios 前端 j2ee windows linux 算法 ACM AI 深度/机器学习 opencv nlp)
2022-03-23 09:57:33
447
转载 用Java来获取访问者真实的IP地址
主要说明在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求
2020-09-11 14:01:39
337
转载 JAVA如何正确地处理时间/时区
日期和时间在程序中应用广泛,每种程序开发语言都自带处理日期和时间的相关函数,很多开发者把日期和时间存入数据库中,但是,一旦涉及到跨时区的日期和时间的处理时,大多数开发者根本就不明白如何正确地处理日期和时间。首先,我们来看大部分的程序都是这么创建当前时间并存入数据库的:Date date = new Date();store2db(date);这么做的问题在于,数据库的DateTime类型没有时区(time zone)信息,因此,存入的是本地时间,并且丢掉了时区信息。如果你把数据库服务器的时区改了,或
2020-08-27 17:14:39
498
转载 linux的制作自解压缩包,并运行程序
基本思路是创建一个文件,前半部分是一个Shell脚本,后半部分则是tar建立的压缩文件。Shell脚本调用tar解压文件的后半部分,再调用解压后的安装文件。本文给出的方法比较灵活,对安装脚本的行数没有要求。先建立一个脚本文件,内容如下,存为inst_script.sh。注意将程序中间./installer一行修改为你的程序的安装程序地址。注意:文件末尾不要添加更多的空行。#!/bin/bashecho ""echo "Self Extracting Installer"echo "" ex
2020-08-27 17:10:04
809
转载 Bootstrap表单验证插件bootstrapValidator使用方法整理
插件介绍先上一个图:下载地址:https://github.com/nghuuphuoc/bootstrapvalidator使用方法:http://www.cnblogs.com/huangcong/p/5335376.html使用提示中文化:下载插件后,将\js\bootstrapValidator\language\zh_CN.js 引入文件,即实现中文化提交前验证表单:更丰富一点的表单验证例子:http://www.jq22.com/yanshi522,直接上代码:<!DO
2020-08-27 17:02:07
521
转载 tomcat内存溢出:PermGen space解决方法
最近集群服务器中的几台服务器在半夜自动重启tomcat后一段时间便都会报java.lang.OutOfMemoryError: PermGen space。习惯性的百度,得到的答案基本上都是统一的解决办法:手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在“echo “Using CATALINA_BASE: $CATALINA_BASE””上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSiz
2020-08-27 16:52:47
368
转载 Spring定时器 QuartzJobBean的使用(工作类继承QuartzJobBean)
一、 QuartzJobBean使用介绍: 项目开发中经常会使用到定时器的功能,比如晚间批量、定时处理账务等等,jdk也提供了Timer实现定时任务,简单介绍下Timer实现。Timer的使用大致分为两步骤:第一、编写任务类继承TimerTask,重写run方法package com.erayt.timer;import java.util.TimerTask; public class MTimerTask extends TimerTask{ private String n
2020-08-27 16:49:39
1798
转载 mysql多实例及主从复制
这里写自定义目录标题server_id = .....mysql多实例及主从复制简介:同一服务器多实例mysql:优点:有效利用服务器资源缺点:当某个数据库实例并发很高或有慢SQL查询时整个实例会消耗大量的系统CPU,磁盘,I/O等资源适用场景:1.资金紧张的公司2.并发访问不是特别大的业务3.门户网站(一般从库多实例)搭建3307端口mysql1.解压安装mkdir /opt/3307_mysqlcp mysql-5.6.30-linux-glibc2.5-x86_64.tar.
2020-08-27 16:23:03
198
原创 Base64 编解码原理及源码解析
Base64的实现原理**1)将给定的字符串转换成对应的字符编码(如:GBK、UTF-8) 2)将获得该字符编码转换成二进制码 3)对获得的二进制码进行分组操作 第一步:每3个字节(8位二进制)为一组,一共24个二进制位 第二步:将这个24个二进制位分成4组,每个组有6个二进制位,不足6位的,后面补0。 第三步:在每个组前面加两个0,这样每个组就又变成了8位,即每个组一个字节,4个组就4个字节了。第四步:根据Base64的转码表找到每个字节对应的符号,这个符号就是Base64的编码值
2020-07-16 19:09:28
3759
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人