- 博客(43)
- 资源 (3)
- 收藏
- 关注
原创 基于AbstractRoutingDataSource的mybatis动态多数据源切换
**** DynamicDataSourceConfig调用了这构造函数*/// 默认数据源// 所有的数据源// 初始化时,给resolvedDataSources 赋值/*** 该类中还有一个determineTargetDataSource方法,* 是根据lookupkey从Map中获取对应的数据源,如果没有获取到,则使用默认的数据源* @return*/@Override/*** 定义切面,获取注解对应的dataSource*/
2024-05-07 23:44:57 293
原创 Spring-aop切面环绕通知
Aspect@Component//定义@Around增强,poincut连接点使用@annotation(xxxx)进行定义 @annotation(study.aop.AroundAnnotation)try {System.out.println("arount 进入-----" + value);// 执行目标方法。
2024-04-30 15:41:02 382
原创 基于spring的异步线程返回结果监听:ThreadPoolTaskExecutor
你想拿到异步处理的结果,但是你又不想主线程一直堵塞在那边等异步结果的返回。
2024-04-29 21:29:41 285 2
原创 基于Guava的异步线程结果监听:ListenableFuture
ListenableFuture是对原有Future的增强,它可以监听异步执行的过程,执行完了,自动触发回调操作。除此之外,可以分别针对成功或者失败的情况做后续处理。
2024-04-29 21:16:40 293
原创 Redisson分布式锁 --- 源码分析
getEntryName() = UUID+lockName ---> abb26a86-01bb-4cc1-945c-d274ae2fd454:订单lock。如果获取锁失败,返回的结果是这个key的剩余有效期,如果获取锁成功,则返回null。redis.pexpire 命令用于设置键(key)的有效期限(以毫秒为单位)redis.pttl 命令以毫秒为单位返回 key 的剩余过期时间。若 key 存在返回 1 ,否则返回 0。命令用于查看哈希表的指定字段是否存在。key 不存在或设置失败,返回 0。
2024-04-25 16:19:55 1049
原创 redis分布式锁 -- 基于redisson实现
线程去获取锁,获取成功: 执行 lua脚本,保存数据到 redis数据库。线程去获取锁,获取失败: 一直通过 while循环尝试获取锁,获取成功后,执行 lua脚本,保存数据到 redis数据库。
2024-04-24 13:47:23 476
原创 semaphore信号量使用+原理分析
Semaphore 信号量,相当于一个计数器,通常用来限制线程的数量。每个线程操作前会先获取一个许可证,逻辑处理完成之后就归还这个许可证。通俗的解释:相当于一个停车场,有10个停车位,进来一个车,占一个停车位,停满了,再有车进来,就要在门口等待, 等出去了一个车,就可以再进来一个车。
2024-04-23 21:05:39 262 1
原创 java动态代理--JDK代理
只能代理实现了接口的类,代理对象是实现了目标对象所有接口的代理类。2.实现接口InvocationHandler。接口来创建代理对象,工作通过反射机制完成。3.被代理的类以及接口。
2024-04-18 15:09:18 297
原创 java动态代理--cglib代理
*** 被代理的对象不需要接口*/System.out.println("做了榜一大哥,线下见面:" + name + ",做泰迪狗干的事");return 1;
2024-04-18 11:22:07 302
原创 docker下安装redis
-requirepass 123456 设置密码。- -appendonly yes 开启持久化。-restart=always 总是开机启动。-p 宿主机端口和容器端口映射。-d 后台启动redis。
2024-04-15 14:39:07 477
原创 Springboot集成RabbitMq+延时队列
将消息路由到 BindingKey 和 RoutingKey 相匹配的队列中--多了匹配的概念。把消息路由到那些 Bindingkey 与 RoutingKey 完全匹配的 Queue 中。把消息发送到所有与它绑定的Queue中,没有路由概念。
2024-04-11 16:15:24 698
原创 spring boot 集成rocketMq + 基本使用
tagA、tagB、tagC 三种事务消息,只有Commit的才能发送到broker。
2024-04-10 21:54:35 946
原创 安装WSL2
内核更新包地址:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package。如果愿意,你也可通过命令行下载首选的发行版,可将 PowerShell 与。下载了发行版后,导航到包含下载内容的文件夹,并在该目录中运行以下命令,其中。如果安装很慢或者按照过程中出现安装报错,可在网页上安装ubuntn。查看当前版本 19044比1903高符合要求。
2024-04-10 14:23:34 1053
原创 docker下安装rabbitMq(包括延时队列插件)----windows下
windows下的docker安装rabbitmq,有延迟队列插件
2024-04-10 13:53:34 588
原创 土地住大威德之适配器模式--adpter
适配器(Adapter)类:它是一个转换器,通过继承或引用适配者的对象,把适配者接口转换成目标接口,它的职责就是要把适配者转换成目标角色 ,它通过继承Target并关联一个Adaptee对象使二者产生联系 (吃完翔的泰日天要吃主人的食物)今天我们的主人公是泰兴小县城大威德养的一条 射天设地的泰迪狗 -- 泰日天 ,真的是什么样的人养什么样的狗,下半身的大威德 养的狗都不一搬,你看 泰迪这么小,发起情来,那么大的金毛狗也要上。适配者(Adaptee)类:需要被适配的角色,它是已经存在的类或对象。
2023-08-03 09:43:27 125
原创 土地主大维德之装饰器模式: 睡觉的花样
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。说白了就是,装饰器模式可以动态地给对象添加一些额外的特征或者行为
2022-07-08 15:46:29 160
原创 大维德选媳妇之责任链模式
一个请求先经过 A 处理器处理,然后再把请求传递给 B 处理器,B 处理器处理完后再传递给 C 处理器,以此类推,形成一个链条,链条上的每个处理器 各自承担各自的处理职责,请求者无需关心处理的细节,一级传递的过程,自动往下一级进行处理...
2022-06-23 11:29:26 194
原创 土地主大威德之模板方法模式
模板方法模式:1.通过把子类中不变的部分抽离到子类中,从而达到去除子类方法的重复代码便于维护2.扩展可变部分,子类实现模板父类的某些细节,有助于模板父类的扩展
2022-06-22 17:08:29 180
原创 土地主大维徳之单例模式
Dav是个土财主,就是那种家在泰兴然后有点小钱那种,由于家离市区近应该属于城乡结合部,然后家里开厂有点小钱,有钱了嘛花心再所难免,他有好几个女朋友,现在假如Dav有4个女朋友(多了怕他满足不了)分别叫ziMei(子楣),yuQin(玉卿),ruoXuan(若萱),lizheng(丽珍),他的这四个女朋友在说老公的时候均是指Dav(带绿帽子除外),单例模式嘛,就是只有一个Dav,假如线程不安全出现了......
2019-08-27 22:40:42 247
原创 土地主大维之工厂模式:简单工厂与抽象工厂模式
在江苏中部泰州市有一个小城镇它叫泰兴,我们的主人公大维(Dav)就是这个县下面的一个街道。我们的主人公大维家是一个开厂的小老板,另外他曾经是一个小包工头。Dav家里有点小钱,有钱人嘛就容易招花引蝶。这不我们的Dav就出去约会了,约会呀是一门学问,你上去先把一串车钥匙拿出来,再吹吹牛b,就算你长的不怎么样,但是在金钱的buf下,妹子也会多看你一眼。Dav为了在妹子面前炫富,需要买好几辆车...
2019-08-27 22:16:52 2422
转载 Mongo DB 建立主从服务器 2 操作系统linux 但是windows在测试
建立主/从服务器主服务器:132.129.31.213:10111(A)从服务器:132.129.31.213:10112(B)1 启动Master数据库服务器:$./mongod –master -port=10111 -dbpath=/home/tsaip/mongodb/data/10111 -nohttpinterface &注:默认端口270172...
2013-03-20 11:13:49 1102 7
转载 MOngo DB 基础知识
启动命令常用参数选项说明mongod 启动数据库进程 --dbpath 指定数据库的目录 --port 指定数据库的端口,默认是27017 --bind_ip 绑定IP --directoryperdb为每个db创建一个独立子目录 --logpath指定日志存放
2013-03-19 14:54:25 1437 10
转载 DOM--HTML基础
本文档中第一个锚的innerHTML第一个锚第二个锚第三个锚本文档中第一个锚的 InnerHTML 是:document.write(document.anchors[0].innerHTML) 点击了哪个鼠标按键script type="text/javascript">function whichButton(event){var b
2013-02-22 16:14:09 457
转载 mysql -- SQL 语句大全
1、说明:创建数据库 CREATEDATABASE database-name2、说明:删除数据库 dropdatabase dbname 3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXECsp_addumpdevice 'disk','testBack','c:\mssql7
2013-01-21 16:55:26 426 2
转载 JavaBean --基础
CounterBean类public class CounterBean {private int count =0; public CounterBean ( ) { } public int getCount () {returtn count ;...
2013-01-16 13:03:08 399 4
转载 Jquery -- 快捷键
document.onkeydown = function(event) { if(event.keyCode == 13){//enter $("#getinfoBtn").click(enterClick); return false;//屏蔽刷新 }else if (e
2013-01-15 15:35:47 1012 10
转载 用POJO实现实现 0 配置的 WebService
其中axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件,axis2-1.4.1-war.zip文件用于将WebService发布到Web容器中。 将axis2-1.4.1-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到\webapps目录中(本文使用的Tomcat的版本是6.x),并启动Tomcat。 在浏览器
2013-01-04 09:58:11 437
转载 Servlet 基础
Servlet是 模块化的程序,运行在服务器端,增强了请求/响应导向服务; 2. HTTP和Servlets 答:1) Servlet是HTTP协议中作为CGI的一个替代品; 2) HttpServlet类用于开发HTTP为基础的Servlet 3. HttpServlet 答:1) 继承抽象类javax.servlet.GenericServlet,实
2012-12-28 09:21:44 421 13
转载 IBM_MQ基本操作
MQ常用命令创建队列管理器crtmqm -q QMgrName -q 是指创建缺省的队列管理器删除队列管理器dltmqm QmgrName 启动队列管理器strmqm QMgrName 如果是启动默认的队列管理器,可以不带其名字停止队列管理器endmqm (-c or -w)QmgrName 受控停止 endm
2012-12-25 16:54:53 1462 7
转载 Jquery--基础小结
1、基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(selector)“查询”和“查找” HTML 元素 jQuery 的 action() 执行对元素的操作 $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有段落 $("p.test").hide()
2012-11-16 13:58:18 516 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人