- 博客(164)
- 资源 (30)
- 收藏
- 关注
原创 关于单体架构缓存刷新实现方案
第一个,应用缓存比较乱(也有公共的缓存机制,但是有些业务不希望放到公共缓存里,一般就在当前类上定义了缓存),第二个线上也出现了几次因为缓存未及时刷新,造成垃圾数据的产生,因此,在这些问题的出现后,需要进一步设计缓存机制了,在不大调整业务代码的前提下如何及时进行刷新应用缓存呢?我这边项目基本上都是单体架构,因为业务场景需要,用户一般就几十个,最多,最多也就是100多用户,所以,单体是完全满足的,同时用户对于系统的要求也不高,因此采用了单体架构,但是后期可以切换到分布式,这是后期需求,如果遇到在调整。
2023-07-28 11:37:23
680
原创 SSO cas 不支持springboot3解决方案
由于cas里面用了大量的过滤器,因此,cas也面临着,调整的命运,因为servlet包名换了,由javax调整为jakarta,相信大家使用springboot3时,这块知识点应该也会知道,那就意味着cas的v3.x之前版本都不支持jakarta的;Ok,咱们解决呢,本来想提个建议,让管理员进行更新,最后我也没提,我下载源码调整后,执行处理了,,大家可以采用简单方式,把cas-client-autoconfig-support源码拷贝到项目里,进行直接调整即可,依赖最新的casv4.0.1即可。
2023-04-08 09:49:25
209
1
原创 smiley-http-proxy-servlet 代理服务不支持springboot3解决方案
OK,项目已经升级到springboot3了,由于springboot3使用的servlet的包名更换了,也就是jakarta开头的,之前是javax开头,因此目前代理服务不支持jakarta,需要升级才行;我到官网看了,他们还在讨论升级问题,维护中有计划升级,至于什么时候,不晓得了;我这边就看了下源码,比较简单就改了下,,直接把源码调整下即可,其实这个项目就一个文件,哈哈,比较简单,直接拷贝调整即可;注释掉,然后创建ProxyServlet 这个类,把项目拷贝进去即可。代码如下,把之前的依赖,也就是。
2023-03-24 10:33:49
422
原创 filebrowser的权限实现RBAC效果
我的需求是这样的:用户分为一级二级三级用户,每级用户的权限不一样,例如超级管理员查看所有文件权限,二级具有删除、修改、发布和指定一些文件查看,三级只具备发布文件不支持删除,普通用户只能查看,反正有很多类似这样的,其实filebrowser是支持的,关键还支持云存储方式,也就是每个用户只能看自己的文件,也是可以的,有兴趣可以研究下;暂时先整理这些,后面在进行整理如何集成公司系统用户,这样用户打通后,直接可以快乐玩耍了,,,,只有下载和查看的权限,也可以新建,因为我给了新建的权限了,,全局设置好,我们再看看。
2023-03-21 18:06:17
642
原创 项目由springboot2.7.7升级为springboot3.0.4时服务无法在nacos进行注册发现了
发现服务一直无法启动了,因为springcloud使用的版本已经升级了2022.0.1,而阿里巴巴还没升级,我发现maven仓库里这块spring-cloud-alibaba-dependencies暂未发布版本;spring-cloud-starter-alibaba-nacos-discovery 和 spring-cloud-starter-alibaba-nacos-config 果不其然,已经发布版本了。本次说下,升级过程中,有个比较重要的问题,就是服务无法注册到nacos里了,
2023-03-20 13:30:55
397
原创 安卓APP开发 Activity调用onKeyDown无反应或H5聚焦到编辑框后按键监听也无效
onKeyDown这个事件了,我以为是聚焦问题,但是不是,我也不是很明白,是个什么问题;找了大半天,,就找到了dispatchKeyEvent分发事件处理,这个是可以的,建议大家使用这个哦,,重新java后端开发;本次是因为公司要做个APP,之前一直尝试想学学安卓开发的, 就趁着这次机会学学,发现,坑也挺多,主要api不了解,使用不熟练造成的;app已经开完成了,但是发现一个问题,在Activity里重写了。PP嵌入H5后,H5调用摄像头拍照后,然后就无法监听。我这边是监听按下即可,所以排除了放开的监听。
2023-03-11 14:28:00
451
原创 HasorDataWay接口接入到SpringDoc或openAPI3或knife4j4.0
如上,下半年计划把项目升级为springboot3,我一直想把APIdoc给换一下,之前是使用了springfox,发现好几年前已经不维护了,所以想升级,这两天就忙这个事情,其实升级挺顺利的,通过spingfox直接升级为springdoc还行,没有多少坑,主要IDEA帮助我了很多,一键替换,简单方便,这块我就不写了,比较简单;就是这个,其实我之前想重写一些,但是想想算了,后期springdoc应该有扩展点,可能我现在没有发现在哪里,我这边通过过滤器进行处理,我拦截,我配置的dataway路径。
2023-03-07 16:27:38
303
原创 Vmware17 pro支持MAC系统安装
原因unlocker版本太低了,真无语,网上基本上的版本都是v2+的,,真坑。安装网上说的,通过Unlocker老无法打开vmware 的mac设置。这里有最新的安装,执行下即可,我现在下载的最新的时425版本。
2023-02-24 15:41:55
1645
原创 filebrowser logo和样式自定义及免密访问
这两天接到项目一个需求,客户需要文件管理存储服务,看了下大概的功能,计划用源码开发的,但是看后期这块调整也不大,就采用开源的项目进行即可,开源项目对比后,发现filebrowser比较适合我,功能就不说了,很强大,性能很高;但是面临这定制,比较是跟业主使用的,不能暴露开源任何相关,同时加上公司的一些属性配置,官网已经有说明了,我也是参考官网文档进行调整的,在这里进行记录下。必须包含img文件夹,系统会自动寻找这个文件夹,img下的logo.svg和icons的文件名必须保持这样,官网写的还是挺详细的。
2023-02-09 11:26:21
1179
1
原创 MySQL8 分页数据重复或丢失问题说明(order by limit)
这个问题,在生产环境出现了,结果测试也没测试到,我也是无语,还是客户发现的;可能是因为现场数据较少,只有两页,客户一眼就能看到少数据了,也就是录入成功后的数据查不出来,还是在第二页,,如果pageSIze选择大一些,用一页展示是可以正常展示所有的数据的;
2022-12-01 17:31:37
1272
原创 easy-captcha 算法图片验证码去除结果小于0的计算
来的,由于随机算法计算后由挺多的小于0,但是输入值时需要添加负号,比较麻烦,有多个业主反馈,所以,我进行优化调整,我这边解决方案比较简单,只要判断两个值大小并且是减号时,把减号调整为加号即可。以上代码就能解决出现结果为负数的情况,同时也不会去除减法。
2022-11-23 10:22:18
339
原创 Spring Boot 2.6以后版本优雅解决PatternsRequestCondition.getPatterns()“ because “this.condition“ is null问题
就可以了,这个我之前就这么用的,最近springboot版本升级到2.7.4了,也顺带了解了下springboot3.0版本升级事项,目前pathmatch 这个配置虽然在3.0也保留了,但是spring官网建议还是让我们调整;如果想省事就用上面的,但是我为了后面好升级,就找了下解决方案,通过这个问题,我发现,还是到官网去找,性能高一些。这里有两种解决方案,第一个是我上面写的,第二个是webmvc处理器来进行处理的,我看了下评论有些局限性,大家可以尝试下。其实网上已经有了,通过。
2022-10-29 14:24:06
3729
原创 mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)
【代码】mysql8 Navicat连接mysql8.0以上版本,报1045-Access denied for user ‘ ‘@‘ ‘ (using password: YES)
2022-10-24 18:35:15
555
原创 flyway 社区版本使用团队(企业级)特性ignore-migration-patterns使用
标题是ignore-migration-patterns使用,其实所有团队(企业级)特性都可以使用,只是要安装我给的思路研究下就可以了,其实也很简单,只是改配置。
2022-09-15 11:39:32
553
原创 hasor与swagger不兼容问题解决方案
只要springboot集成hasor与swagger必然会出现swagger无法访问,无论你怎么设置swagger静态资源,都不行,这个问题,在于hasor拦截问题,不是swagger配置问题,我分享下我的解决方案:
2022-08-17 09:19:31
212
原创 springboot 定时任务动态启动和停止
这个在网上都有解决方案了,但是网上的给的解决方案夹杂了本身的业务,其实动态启动定时任务只需要关注系统启动时的动态启停,至于要不要入库,取决于自身业务情况,与解决这个问题没啥关系;ok,我来梳理下我这边理解的,我简单的就实现了,当然可以动态加更多的内容,通过这个可以简单进行封装成XXL的job,其实原理都是想通;定时任务对于大多数需求来说,@注解级别就可以了,,,但是有些需要提前用数据库配置的,,也可以通过实现 SchedulingConfigurer 这个也是可以的,配置好后重启即可;还有一些情况是需要根据
2022-05-14 18:00:17
6549
4
原创 java websocket支持分布式部署解决方案
代码就不放了,参考下这个解决思想,就可以了,,解决思想就是把消息进行分发给对应的分布式服务,这样每个分布式服务都会收到 消息,然后在根据规则进行session 发送消息即可
2022-04-21 11:59:41
2564
原创 java.lang.NullPointerException: Cannot invoke “javax.script.ScriptEngine.eval(String)“ because “engi
公司最近要启动一个项目,我这边就架构选型了下,选择了JDK17,毕竟是后面长期支持版本,效率也比之前的要高一些,这样搭建项目遇到的问题还是挺多的,有一些还不支持jdk17,如果你要升级到jdk17最好再等等再升级;今天遇到了一个问题是网上的图片验证码问题,jdk17下报这个错误,jdk11正常的;java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "engine"..
2022-03-25 14:48:55
9004
5
原创 今天研究JFrog artifactory 官网下载真他妈的难找
先给出传送门JFrog按照网上给的地址不行,jfrog 下载地址换了我这边来做一个引导文章吧第一步 访问官网JFrog Platform | Download第二步:第三步第四步:第五步:点击后,根据要安装的环境进行选择第六步 下载时报错的话,要自己输入版本号才行把[RELEASE] 换成你要下载的版本号,或者直接进入他们上一级目录也是可以的https://releases.jfrog.io...
2021-09-10 10:33:09
1405
原创 Cannot deploy POJO class [com.xxx.websocket.server.WebSocketServer$$EnhancerBySpringCGLIB$$118f
这个错误,相信你已经找了,是因为spring代理的问题,这里我要是说下我这边的情况,首先感谢这位博主,https://blog.csdn.net/qq_15807785/article/details/83547978 他分析是没问题,就是AOP;但是我要说的,是解决方案,aop 使用方式有很多种,例如自己写了一个输出日志的,就上面的楼主说的,调整aop相关配置,但是这仅仅是一种方式;但是spring给我们提供了很多的注解,有不少注解都是基于AOP,这一点你要知道,否则不好排查,我罗列一下spri.
2021-08-31 17:53:36
1587
原创 枚举实现策略模式
策略模式用好,可以消除大量的if else;demo 是以vip充值为背景,可以充值一个月、三个月 、一年和 永久直接上代码:1、定义接口/** * <p> * vip服务 * </p> * * @author zsy * @since 2021/7/15 */public interface VipService { /** *<p> * 充值服务 *</p> * @par
2021-07-15 16:43:11
1464
1
原创 oracle 递归查询sql
一般用到递归查询,一般是树形接口,或者其他类似树接口的场景;一般就是组织机构或者菜单-- 这个是通过父节点找所有的子节点select * from xxx_MENU t start with t.cguid = '64cbd328ef86eb7f1d' connect by prior t.cguid = t.cparentid; -- 这个是通过子节点找父节点 select * from xxx_MENU t start with t.cguid = '8e76aa
2021-06-28 13:26:09
181
原创 springboot升级到2.4.5后配置文件不生效
公司系统为了解决相关jar包漏洞,需要升级springboot,生产版本是2.3.9,计划升级到2.4.5;发现升级后,配置文件不生效了,,我这边用的是bootstrap。
2021-06-08 14:04:50
1223
原创 activiti7整合springboot-02:组应用
FormService和IdentityService在Activiti7.0中删除了;这块activiti可能考虑表单和身份验证是具体的业务方面的事情,与工作流本身就没有多大的gaunx
2021-06-04 10:59:56
690
原创 activiti7整合springboot-01
最近在了解activiti7,发现在与springboot整合 必须要有springsecurity,如果项目用到了springsecurity 那更好,直接集成即可,网上比较多列子,这里就不说了;我这边项目没有用到springsecurity,用的是公司里的权限认证框架,其实也可以接入springsecurity、写几个配置,实现userdetailservice,但是我认为没必要啊,我只是使用activiti里面的工作流,干嘛接入springsecurity,,我就采用了activiti与sprin
2021-05-31 15:35:13
600
4
原创 Process definition with the given id:xxx belongs to a different application version
这个错误,是activiti的一个bug,真无语啊,,国内的有一个解决方案;但是我试了,没效果;到官网的activiti找了,找到答案了。地址:https://gitter.im/Activiti/Activiti7?at=5e6b92711f0d285eb2783ad3
2021-05-28 17:16:31
1552
3
原创 mybatilsplus 自定义填充属性--MetaObjectHandler;生成entity 自动添加fill = FieldFill.INSERT_UPDATE
根据官网文档https://baomidou.com/guide/auto-fill-metainfo.html我这边没测试成功,我用了这样的方式@Slf4j@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert.
2021-03-29 18:38:05
5893
原创 Failed to receive INITIALIZED event from zookeeper, pls. check if url zookeeper://xx
报错信息:Failed to receive INITIALIZED event from zookeeper, pls. check if url zookeeper://xxx/org.apache.dubbo.metadata.report.MetadataReport?client=&dubbo.config-center.root-path=/ is correct可以参考这个文章:https://blog.csdn.net/weixin_38308374/artic...
2020-11-09 18:28:52
7905
原创 jenkins:流水线构建
jenkins 服务搭建,请自行百度,网上很多;官网也有1、创建流水线2、配置流水线这个配置不是写的,是有文档;请查看流水线语法这里可以选择,生成语法,我也参考了官网的给的demo :https://www.jenkins.io/zh/doc/book/pipeline/我测试的项目pipeline { agent any stages { stage('checkout') { steps { .
2020-09-27 16:19:34
2650
原创 docker镜像加速配置和配置步骤
cp /lib/systemd/system/docker.service /etc/systemd/system/docker.servicechmod 777 /etc/systemd/system/docker.servicevim /etc/systemd/system/docker.serviceExecStart=/usr/bin/dockerd --registry-mirror=https://31g4gmqc.mirror.aliyuncs.com \systemctl dae.
2020-08-26 21:54:06
433
原创 初见cas服务端3:研究认证过程
首先感谢 这位博主,我参考了他的,他写的还是很详细的,https://blog.csdn.net/zhouzhiwengang/article/details/97926358我看它实现了全自定义形式;我走另外一种,实质是一样的,因为我当时这样的想的,我只需要加一个验证码就可以了,其他的还是用cas框架提供的就行了,我按照这个思路缕了下源码,请看下面的吧。我研究了下,我把研究思路贴出来。首先研究源码最起码框架的默认的必定要走的代码那里打上断点;一旦就可以跟踪代码上下看看,就知道了首先这.
2020-08-19 00:05:57
293
2
原创 IDEA 报Artifact xxx:war exploded: Error during artifact deployment. See server log
这个错误记录下,这个错误其实已经说得很明白了,看看服务日志就知道了,一般是框架启动报的错误,我这边原因是我升级了dubbo,后缺少了spring-webjar包,老版本是有这个jar包的,新版本没有,所以启动就报这个错,同时因为我用了logback,对于tomcat了的日志没有生效。 在项目resource 文件下创建logging.properties;里面新增这两行配置:org.apache.catalina.core.ContainerBase.[Catalina].level=INFO..
2020-08-18 09:47:22
10420
原创 初见cas服务端2:支持数据库和自定义密码加密和比对
上一篇环境搭建好了,接下来,支持数据库。1、我这边为了方便,我在cas-overlay-template 创建了java的路径,方便后面修改。2、我把容易变化的配置文件放到resources3、在我们刚刚拷贝的application.properties里现在连接数据库的配置文件。解释下,前面几个就不说了,sql,可以直接把密码查出来,就不用写fieldPassword了,,按照我上面的,如果返回多个字段,就要指定密码字段;type这个官方文档写的很明白了,4、表结构很简
2020-08-17 21:48:23
541
原创 初见cas服务端1:搭建环境
之前工作一直都是用客户端去调用服务端,一直没时间看看cas服务端内容,最近准研究下。从网上也是搜索了很多东西,了解了大概,准备搭建,建议搭建先试试5.3x版本会好点,我目前用的是5.3.14,一开始准备研究最新版本,但是有些工具我还不是太熟悉。第一步:到官网这是他们的源码,可以看看,我们实际上用的是这个模板cas-overlay-template,这个模板在这个地址...
2020-08-13 23:04:32
154
原创 谷歌google 的kaptcha 后台自定义存储验证码,抽取com.google.code.kaptcha.servlet.KaptchaServlet逻辑
背景是,公司项目之前是单节点,计划要改为集群,,集群后面不计划用session了,放到外部内存redis里了,改造项目时发现用了谷歌的图片验证码,感觉这个挺好的,。原先是使用了web.xml 直接配置的com.google.code.kaptcha.servlet.KaptchaServlet ,如果换成redis,不能这么高了,因为这个默认的走的是session,因此从网上找了一会,发现没人整理成工具类直接使用,,,我自己整理下放到网上,我这个人,网上有不会写博客的,,网上少或者没有,才写下博客,废
2020-08-11 10:37:26
802
原创 jackson.ObjectMapper里的一个enableDefaultTyping方法过期
jackson.ObjectMapper里的一个enableDefaultTyping方法过期了,项目每次编译时提示,同时过期可能是有漏洞或者效率太低了,总而言之最好处理下看了下网上也没有解决方案,我这边记录下解决方案。最好的解决办法就是看过期方法的源码,一般过期方法会给出新的方法来替换过期方法的说明可以看到@link 里已经给出了这个说明。我这边修改的: ...
2020-04-13 16:13:13
16511
原创 IE11 死活无法加载OCX控件
依次展开注册表到HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main分支新建一个DWORD32值,并将其命名为TabProcGrowth,在弹出的对话框中输入“0”或者“1”,需要兼容的话需要将值设置为1如果已经存在该值,改为1就可以了关于TabProcGrowth键值1、TabProcGrowth赋值为1,则...
2019-11-06 17:14:47
4389
1
转载 nginx正向代理
感谢原作者,原地址:https://cloud.tencent.com/developer/article/1521322一、nginx正向代理介绍及配置1、环境介绍代理服务器系统环境为:centosnginx代理服务器为:192.168.10.10测试客户端为局域网内任意windows电脑或Linux电脑2、正向代理简介nginx不仅可以做反向代理,还能用作正向...
2019-11-01 13:05:18
1727
原创 Eclipse Maven profiles 多环境配置,测试环境与开发环境、生产环境分开打包
环境有dev、pro、test,默认是dev pom文件加入:<profiles> <!-- 开发环境 --> <profile> <id>development</id> <!-- 默认激活开发配制,使用config-dev.proper...
2018-12-19 17:40:25
3939
原创 flume学习1:初次接触flume
最近准备学习下flume,到apache官网下载了一个版本,例子官网也有:我用翻译器翻译了下中文有助于理解,文档地址按照官网来,就能正常安装单机版的flume了 ...
2018-10-29 21:22:15
260
PowerDesigner16x64.txt
2020-03-13
hive常用函数参数手册
2018-10-21
spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32-x86_64
2017-12-18
mybatis逆向生产工具,解压导入开发工具里,修改generatorConfig.xml数据库连接和表名即可
2017-12-04
图片批量导入oracle数据库
2016-04-24
webserver客户端代码,天气预报,电话号码归属地,ip,邮政
2016-01-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人