自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 springboot日志切面使用成员变量线程不安全造成日志串数据

最近在数据库中发现日志记录有串数据的现象,通过查看代码发现,日志对象是成员变量,而spring使用的单例模式,这样会导致多线程使用一个日志对象的问题,这就是典型的线程不安全了,这样就造成了日志串数据的情况。查找了资料,使用ThreadLocal来解决这个问题ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意:因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是

2020-07-09 15:01:12 935

原创 springboot + websocket + redis实现多服务器消息主动推送

集成的东西就不多讲了,导入依赖jar包,然后codeing就行了,主要说说过程中遇到的几个坑。第一个坑就是多服务器的问题,由于项目是多节点通过nginx分发请求来实现的,所以会导致长连接建立在一台服务器上,后续的请求回被分发到另一台服务器上,但是当前服务器并没有建立长连接,导致消息发送不到前端。首先想到的方法是websocket的session共享,通过将session序列化到redis里来实现,但是websocket的session不支持序列化,这个方法pass。然后想到队列来解决,通过发布消息,

2020-07-03 13:58:18 1729

原创 mongodb安装和启动

先下载安装文件安装成功之后以管理员模式启动CMD,切换到MongoDB的bin目录,并执行命令:mongod --dbpath "D:\mongodb\data\db" --logpath "D:\mongodb\logs\log.txt" --install --serviceName "MongoDB" 关于命令中的参数说明参数            描述--bind...

2019-05-07 11:07:26 166

原创 oracle nvl()和nvl2()

nvl()和nvl2()是oracle的两个函数,两者有一定的区别。nvl(X1,STR),如果X1为null,则返回STR,不为null,则返回本身的值。nvl(X1,X2,X3),如果X1为null,则返回X3的值,如果X1不为null,则返回X2的值 ...

2018-12-21 15:29:08 12499

原创 java web客户端集成cas,web.xml通过编码的方式来加载配置

前言:项目集成cas单点登录,需要在web.xml里加上cas-client的过滤器配置,但是配置地址太繁琐,而且有重复配置,能不能让web.xml去读properties文件,只做一次配置。在porperties里配置cas单点开关参数,开就加载cas配置,集成cas,关就不集成。实现思路:通过查找资料,web.xml可以以编码的方式来实现配置。spring4.0以上的版本支持web...

2018-12-21 15:19:55 751

原创 关于zuul,ribbon和hystrix的配置和说明

在使用spring cloud框架开发微服务时,会遇到zuul,ribbon,hystrix的配置,刚开始接触到时候会有些懵逼,下面我讲讲这三者的作用和区别。zuul:是gateway的核心,叫做路由。在一个项目中,有很多微服务,它们之间的相互调用就是通过zuul的设置才能实现的。ribbon:负载均衡,spring cloud是一个分布式框架,所以ribbon是针对业务模块的多实例负载均...

2018-09-11 16:16:50 11335

原创 spring cloud 微服务整合redis以及具体应用

首先,pom文件引入redis的依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>maven...

2018-09-11 15:29:10 4761

原创 java后台请求resuful、soap接口总结

1.请求restful接口请求restful接口分为两种,要看对方发布的接口请求参数是什么类型。第一种:参数为String类型,直接采用httpClient post请求就可以了; String url = "http://127.0.0.1:8480/jkcsYsd/test"; HttpClient httpclient = new HttpClient();...

2018-08-28 14:57:21 1413

原创 cas+shiro子系统ST不符合目标服务的原因

在出现这和错误之后,首先思考一下为什么会出现这个错误。ST不符合目标服务,说明在访问子系统的时候,cas server已经生成了service ticket给这个系统,当客户端拿着这张ST去服务端校验的时候除了问题。但是这张ST是server给你的,为什么在拿去校验的时候为什么会不符合目标服务呢,应该就是client配置子系统路径出现问题了,和实际的部署访问路径不一样。<filter-nam...

2018-05-28 17:04:37 2603 4

原创 CAS和Spring-shiro结合实现单点登出功能

CAS既然有单点登录功能,那么自然有单点登出,意思就是其中一个子系统登出之后,其他所有系统都不能访问。下面我要说的是CAS和Spring-shiro结合实现单点登出功能结合实现的单点登出功能这是应用系统web.xml配置,这里要特别注意,登出校验的配置一定要写在Spring-shiro配置之前,否则会使单点登出不成功<!-- 该过滤器用于实现单点登出功能,可选配置。 --> <...

2018-05-28 16:37:59 2436

原创 关于CAS的TGT和Service Ticket的过期策略

首先说明一下什么是cas:cas是一套单点登录的框架,利用它可是实现登录一个账号就能访问多个相关系统的功能。它分为客户端Client和服务端Server,只要将开发单点登录的系统集成cas的客户端,然后部署好服务端,就可以实现多系统的单点登录。下面说一下cas的认证流程:1)用户访问cas-client,被拦截跳转到cas-server进行登录,输入正确的用户信息2)登录成功后,cas-serve...

2018-05-24 16:25:03 11048 2

原创 关于group()、group(int group)、groupCount()

package com.dajiangtai.djt_spider.util;import java.util.regex.Matcher;import java.util.regex.Pattern;public class MatcherTest {public static void main(String[] args) throws Exception { 

2017-07-28 17:45:20 680

转载 Maven中的库(repository)详解

Maven中的库(repository)是构件(artifact)的集合。构件以一定的布局存储在库中。Maven中的库(repository)可以分为本地库和远程库。本地库在安装Maven的计算机上的指定路径下(通常是用户主目录下的.m2/repository),本地库中的构件往往是远程库中下载到本地的部分构件,被本地项目所引用。当然,本地项目发布时,默认也发布到本地库中。远程库往往是由第三方

2017-07-27 13:55:24 1538

转载 脏读、幻读、不可重复读

1.脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。2.不可重复读:是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个

2017-07-04 22:18:17 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除