- 博客(26)
- 收藏
- 关注
原创 RocketMq踩坑
provider默认情况下不需要设置instanceName,rocketmq会使用ip@pid(pid代表jvm名字)作为唯一标示 如果同一个jvm中,不同的producer需要往不同的rocketmq集群发送消息,需要设置不同的instanceName原因如下:如果不设置instanceName,那么会使用ip@pid作为producer唯一标识,那么会导致多个producer内部只有一个MQClientInstance(与mq交互)实例,从而导致只往一个集群发消息。consumer默认情况
2022-02-27 21:15:39
1957
原创 RabbitMQ工作模式
RabbitMQ工作模式一、Work queues工作队列模式针对一个生产者,对应多个消费者,同时多个消费者是竞争关系,消息只能被一个消费者消费。生产者将消息发送到对列,由消费者进行处理。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrpBp3zv-1603702353447)(C:\Users\CRnnn\AppData\Roaming\Typora\typora-user-images\1598492973818.png)]生产者://创建连接Connect
2020-10-26 16:55:14
439
1
原创 RabbitMQ过期时间和延迟队列
一、RabbitMQ过期时间TTL在设置时间范围内,消息都可被消费者接收消费,被消费后从队列中自动删除,设置过期时间方式:1、设置队列属性,队列所有消息都有相同过期时间<!--定义过期队列及其属性,不存在则自动创建--><rabbit:queue id="my_ttl_queue" name="my_ttl_queue" auto-declare="true"><rabbit:queue-arguments><!--投递到该队列的消息如果没有消费都将在6
2020-08-31 20:35:07
843
原创 RabbitMQ模式总结
RabbitMQ工作模式一、Work queues工作队列模式针对一个生产者,对应多个消费者,同时多个消费者是竞争关系,消息只能被一个消费者消费。生产者将消息发送到对列,由消费者进行处理。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eTnHV9yo-1598877228675)(C:\Users\CRnnn\AppData\Roaming\Typora\typora-user-images\1598492973818.png)]生产者://创建连接Connect
2020-08-31 20:34:22
174
原创 JMS和AMQP比较
mq消息通信模型,主要实现方式分为两种JMS和AMQPJMS指的是JMS API 是Sun公司开发的消息标准,提供java统一的消息操作(create/send/receive)。**使用方法:**实现JMS响应接口之后就可以和实现了JMS的服务进行通信,JMS分为两种消息模型(点对点/发布阅)JMS中消息从生产者端到达消费者端由消息路由决定,生产者和消费者同时连接到queue(p2p)、topic(pub/sub)实现消息路由。(activeMQ为例)producer: <!--1.acti
2020-08-31 20:32:08
371
原创 cookie工具类
package com.dcr.util;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/*
2020-08-04 20:39:54
122
原创 redis的同步过程
此处省略主从、哨兵配置同步过程:slave发送sync命令到mastermaster启动一个后台进程,将redis中的数据快照保存到文件中master将保存数据快照期间接受到的写命令缓存起来master完成写文件操作后,将该文件发送给salver使用心得AOF文件替换掉旧的AOF文件...
2020-08-03 21:39:44
217
原创 redis持久化RDB/AOF两种方式
RDB 快照持久化:保存某个时间点的全量数据快照手动触发持久化通过2个命令生成dump.rdb文件:save:阻塞redis的服务器京城,知道rdb文件生成完毕(少用)bgsave:检查是否存在子进程正在持久化数据,不存在则fork出一个子进程来创建rdb文件,不阻塞服务器进程具体:会派生出一个子进程接收bgsave当前数据库状态,父进程继续处理接收到的命令,子进程完成后会给父进程发送命令,父进程在接收命令的同时通过轮询方式接收子进程的信号。基本上就是通过后台的方式保存rbd文件,调用此命令后会l
2020-08-03 21:04:02
215
原创 基于redis分布式锁实现方式
分布式锁:控制分布式系统或者不同应用访问共享资源时互斥主要需要解决四个问题:互斥性、安全性、死锁、容错setnx key value:如果key不存在,则创建并赋值 expire key seconds:给key设置过期时间以上两个命令搭配使用可以实现分布式锁,但是可能会出现set成功但是未执行到expire程序就崩了,共享资源就无法被其他应用使用set key value [EX seconds|PX milliseconds] [NX|XX] EXseconds:设置key的过期时间为秒 P
2020-08-02 22:45:35
104
原创 redis海量数据获取操作
keys pattern操作:查找出所有符合给定模式pattern的key列表keys指令一次性返回所有匹配的key(通配符 keys user*)数据量过大会导致服务卡顿,对内存和redis服务器影响很大scan [cursor ] match [pattern] count [count]:从海量key中查询出某一固定前缀的key基于游标的迭代器,需要基于上一次的游标,延续之前迭代过程以0作为游标,会开始一次新的迭代,知道命令返回游标0完成一次迭代(0到0的过程为一次完整的遍历)不保证
2020-08-02 22:13:19
701
原创 redis数据类型
1、String:最基本的数据类型,二进制安全,可以包含任何数据(jpg、序列化对象)2、Hash:String元素组成的字典,适合用于存储对象3、List:列表,按照String元素插入顺序排序,容量大概40亿条数据 lpush4、Set:String元素组成的无序集合,通过哈希表实现,不允许重复 sadd5、Sorted Set:通过分数来为集合中的成员进行排序(每条数据会关联一个dubbo类型的分数,根据分数进行排序,分数可以重复,数据不能重复)以上是常用五中数据类型,更高级的两种数据类型
2020-08-02 21:56:01
113
原创 springcloud-eureka组件基本配置
#内置的tomcat服务启动监听端口号server: port: 8888#应用名称spring: application: name: EurekaServer01#EurekaServer配置eureka: server: #关闭自我保护模式(缺省为打开) enable-self-preservation: false #扫描失效服务的间隔时间(缺省为60*1000ms) eviction-interval-timer-in-ms: 1000
2020-06-10 21:54:49
110
原创 springboot整合mybatis配置涉及基础依赖和配置
#配置数据源spring: datasource: url: jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8 type: com.alibaba.druid.pool.DruidDataSource username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver#springboot整合mybatis myb
2020-06-10 19:52:09
289
原创 SpringSecurity整合CAS配置
pom.xml<packaging>war</packaging> <properties> <webVersion>3.0</webVersion> <spring.version>4.2.4.RELEASE</spring.version> </prope...
2020-04-01 22:06:07
601
原创 CAS修改登录页面
(1)将登陆页login.html拷贝到cas系统下WEB-INF\view\jsp\default\ui 目录下(2)将css js等文件夹拷贝到 cas根目录下(注意js一定要拷贝要不然登录不了)(3) 将原来的casLoginView.jsp 改名(可以为之后的修改操作做参照),将login.html改名为casLoginView.jsp...
2020-04-01 22:01:26
477
原创 CAS配置数据源
1.修改cas服务端中WEB-INF下deployerConfigContext.xml ,添加如下配置 连接宿主机mysql 此过程需要关闭宿主机防火墙<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:driverClass="com.mysql.jdbc.Driver" ...
2020-04-01 21:58:57
551
原创 CAS测试Demo
** 一、导入pom.xml**<packaging>war</packaging> <properties> <webVersion>3.0</webVersion> </properties> <dependencies> <!-- cas --> <dependency&...
2020-04-01 21:35:06
321
原创 Linux中CAS服务端部署
将cas.war 部署进tomcat(war包放到webapps下面)cas/WEB-INF/deployerConfigContext.xml目录下 可查看修改默认密码casuser/Mellon<bean id="primaryAuthenticationHandler" class="org.jasig.cas.authentication.AcceptUser...
2020-04-01 21:29:36
730
原创 CAS基础概念
开源单点登录系统CAS单点登录(Single Sign On),简称为 SSO,SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS 包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署,主要负责对用户的认证工作;CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Serv...
2020-04-01 21:08:41
210
原创 Linux环境中配置网络和固定ip教程
配置网络1 检查网络ping www.baidu.com2 修改虚拟机的网卡配置vi /etc/sysconfig/network-scripts/ifcfg-ens33找到ONBOOT=no改为ONBOOT=yes3重启网卡设备systemctl restart network4 ip a 查看本机的ip5 配置虚拟机的网络点击[NET设置] 设...
2020-03-31 21:56:33
223
原创 Zookeeper在linux环境中的搭建
搭建Zookeeper一、确认服务器配置好java环境java -version二、配置java 环境1、上传jdk 安装包 jdk…-linuxx64.tar.gz2、解压tar xvf jdk.....tar.gz -C /usr/local/3、进入解压缩目录 修改jdk的解压文件名为 jdkcd /usr/local/mv jdk1.8.0_131/ jdk4...
2020-03-31 21:51:45
85
原创 手机号校验Util类
package com.offcn.util;import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.regex.PatternSyntaxException;public class PhoneFormatCheckUtils { /** * 大陆号码或香港号码...
2020-03-31 21:38:37
221
原创 SSM标准配置文件
1.jar包springmvc+spring+mybatis、spring-batis、mysql/druid、json、jstl2.web.xml配置spring的contextLoadListener配置springmvc的前端控制器及两个filter(post乱码、Put/delete请求)3.创建并配置springmvc.xml扫描包[controller、Controller...
2020-03-31 21:36:06
203
原创 javamail配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:...
2020-03-31 21:31:24
425
原创 java邮件发送2
附件发送public static void main(String[] args){ //手动加载spring环境 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-mail.xml"); //根据上下文...
2020-03-31 21:29:50
89
原创 java邮件发送1
java 发送简单邮件两个依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4....
2020-03-31 21:28:00
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人