自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牛奋lch

先要学会做一个好人,才能成为一个有用的人……

  • 博客(139)
  • 资源 (8)
  • 收藏
  • 关注

原创 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常问题解决汇总

最近在使用Mybatis的过程中,遇到了这个异常,通过http://ljhzzyx.blog.163.com/blog/static/38380312201412453629988/这个博客里面的方法还是没有解决问题,为了方便大家看,遂将该博客中的解决方法复制过来了。最后还是将遇到的问题解决了,方法见最后的总结:很多原因都会导致Mybatis中出现这个异常,一般的解决方法如下:一般的原因是Mapp...

2018-03-13 09:14:00 6069 4

原创 storm中如何使用BaseWindowedBolt的ack机制

最近有个需求,在WindowedBolt中需要对每个tuple进行ack,如果异常则进行fail,如是,我按照普通Bolt的写法,却始终实现不了上面的功能,代码如下:List<Tuple> tupleList = inputWindow.get(); try { if (tupleList.isEmpty()) { ...

2018-03-13 09:12:29 1781

原创 使用JsonView,减少vo的数量

前言:在我们的开发中,经常会有这样的情景,后台从数据库中查询到前端需要的数据后,就会返回给前端,此时,我们就会封装一个vo,用来传输结果,例如一个StudentVo类,里面有姓名,班级,年级等信息,另一个业务接口需要的字段和StudentVo类里面的字段类似,只是多了两个字段而已,一般的做法是,会另外建一个vo类,然后将vo类和StudentVo类里面公用的部分提取到另一个基类中,供继承。今天

2017-12-09 10:03:09 2517 3

原创 spring boot--使用异步请求,提高系统的吞吐量

前言:在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请求进来,就没有多余的连接可用了,只能拒绝连接。要是我们在请求耗时服务的时候,能够异步请求(请求到contro

2017-12-07 19:29:42 23606 4

原创 spring boot整合quartz实现多个定时任务

最近收到了很多封邮件,都是想知道spring boot整合quartz如何实现多个定时任务的,由于本人生产上并没有使用到多个定时任务,这里给个实现的思路。1、新建两个定时任务,如下:public class ScheduledJob implements Job{ @Override public void execute(JobExecutionContext cont

2017-11-15 18:22:24 10720 3

原创 spring boot--整合spring session实现session共享以及cookie丢失问题解决

spring session可以利用redis透明的存储并共享web应用的HttpSession,当结合spring boot使用时,更是大大的节省了我们整合的时间。1 添加pom依赖 org.springframework.boot spring-boot-starter-data-redis org.springframework.s

2017-11-06 14:49:24 28634 6

原创 微服务间调用导致的Could not write content: Infinite recursion (StackOverflowError)问题

最近在开发中遇到了一个奇葩的问题,

2017-11-01 17:47:13 4080

原创 ELk Stack-5.0.0-Logstash的安装以及logstash-input-plugin-file使用

Logstash下载地址:https://www.elastic.co/downloads/logstashLogstash官方文档:https://www.elastic.co/guide/en/logstash/current/index.html1、下载安装下载下来后,直接解压并进入logstash/bin目录下,执行如下命令:./logstash -e ""启动

2017-09-29 16:02:57 921

原创 springboot-加载自定义的properties文件

在我们的开发中,有很多配置文件是需要分开配置的,例如kafka.properties,amq.properties等,那这些自定义的配置文件,怎么加载到对应的类里面了,下面就来说说这个问题。在src/main/resources目录下新建一个config文件夹,用来存放我们的properties文件。目录结构如下:user.properties配置文件内容如下:com.chhl

2017-09-26 20:43:34 30157 3

原创 NAT模式下,让虚拟机联网

今天遇到一个问题,在使用make命令编译redis安装包的时候,直接报了个gcc :command not found,于是确定gcc没有安装,于是又使用yum install gcc安装gcc的时候,又报一些依赖的包找不到,为了不一个个的下载这些包,于是必须让虚拟机能够上网。步骤一:共享Internet连接步骤二:配置DNS如果不配置DNS的话,域名会解析失败

2017-09-22 17:23:58 850

原创 使用Junit做参数化测试

很多时候,我们在开发中写单元测试的时候,当对同一个方法的不同边界取值时,需要写多个单元测试来达到分支覆盖的效果,例如测试两个数相除,至少需要测试以下几个情况:1、被除数为0的情况2、除数为整数的情况3、除数为小数的情况所以,我们至少需要写三个单元测试。下面来介绍一下使用Junit来进行参数化的测试,可以通过批量构建测试参数,从而达到全覆盖的目的,首先还是来先看一段代码:im

2017-09-20 19:52:29 3768 1

原创 NAT模式下Linux系统的虚拟机的安装配置

最近被问道,虚拟机ping不通宿主机的问题,下面对这个问题进行一下总结。环境:虚拟机三台:该网段可以按需进行分配,此处的虚拟机网段为192.168.2.0,网关为192.168.2.1(这两点需要在后面的虚拟网络中进行配置)192.168.2.108192.168.2.109192.168.2.110宿主机配置如下:在cmd中输入ipconfig进行查看 IPv4 地址

2017-09-20 14:13:13 678

原创 java中OutOfMemoryError异常总结

最近在生产中,接连出现了OutOfMemoryError的异常,现将相关总结如下:1 java.lang.OutOfMemoryError: unable to create new native thread这个异常是由于操作系统没有足够的资源来创建新的线程造成的。系统创建线程时,除了要在Java堆中分配内存外,操作系统本身也需要分配资源来创建线程。因此,当线程数量大到一定程度以后,

2017-09-04 22:04:32 1045

原创 junit单元测试报java.lang.NoSuchMethodError: org.junit.runner.Description.createSuiteDescription

解决方案一:去掉junit-dep依赖 junit junit-dep 该异常很大一部分都可以通过这个方案解决,如果pom依赖中存在junit-dep则去掉,如果没有依赖这个包,则尝试方案二。解决方案二:调高junit的依赖版本,一般升级到4.12或以上版本。

2017-08-30 16:54:53 4431

原创 spring boot整合Cucumber(BDD)

1、新建一个springboot工程工程结构如下:2、添加pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0

2017-08-29 18:23:32 6837 2

原创 使用spring事件驱动机制,实现权限信息的自动收集存库

最近在做权限管理,希望能够在容器初始化后,自动的将所有Controller上的url进行收集,并存放到权限表中,从而代替人工配置的方式。实现思路如下:                             spring事件驱动机制+注解来实现。spring事件驱动机制spring在容器初始化之后,会触发ContextRefreshedEvent等事件,只要实现了Application

2017-08-25 12:15:08 5181 6

原创 spring boot解决第三方jar包依赖的问题

在我们的开发中,通过会依赖第三方的jar包,而这些jar包由于还处于测试或开发阶段,并没有放到maven库中,这个时候,如果我们还按照原来spring boot的方式打包的话,第三方jar包是打不进来的,所有很多时候,我们在本地测试,开发没问题,一部署到服务器上,就报ClassNotFound异常。示例如下:第三方jar包的引用方式: com.chhliu chhliu-sen

2017-08-11 18:41:48 7449

转载 幂等性和高并发在电商系统中的使用

幂等和高并发在电商系统中的使用在Java web项目开发中,经常会听到在做订单系统中生成订单的时候,要做幂等性控制和并发控制,特对此部分内容作出总结,在高并发场景下,代码层面需要实现并发控制;但是幂等性,其实更多的是系统的接口对外的一种承诺,承诺一次请求和多次请求会返回同样的数据。关于幂等性将分别从高等代数中的幂等性、HTTP中的幂等性和订单生成系统中的幂等性阐述;并发性控制则提供了分布式

2017-08-10 18:14:34 1801

原创 spring boot中统一异常处理

在前面的博客中,Spring Boot整合jpa,Shiro进行权限管理 异常都是直接返回到页面上,这样做既不安全,也不友好,所以在返回给页面之前,我们需要对异常信息进行统一的处理,该部分的处理思路和spring mvc的处理思路是一致的。下面,我们来对前面的示例进行改造,从而能够支持统一的异常处理。1、定义全局异常处理类@ControllerAdvicepublic class

2017-08-09 12:03:54 5045

原创 spring boot整合Shiro实现单点登录

前面的博客中,我们说道了Shiro的两个最大的特点,认证和授权,而单点登录也是属于认证的一部分,默认情况下,Shiro已经为我们实现了和Cas的集成,我们加入集成的一些配置就ok了。1、加入shiro-cas包 org.apache.shiro shiro-cas 1.2.4

2017-08-07 17:35:31 42967 44

原创 spring boot整合redis实现shiro的分布式session共享

我们知道,shiro是通过SessionManager来管理Session的,而对于Session的操作则是通过SessionDao来实现的,默认的情况下,shiro实现了两种SessionDao,分别为CachingSessionDAO和MemorySessionDAO,当我们使用EhCache缓存时,则是使用的CachingSessionDAO,不适用缓存的情况下,就会选择基于内存的Sessi

2017-08-07 08:34:41 18667 11

原创 spring boot使用内嵌的tomcat解决不安全的HTTP方法安全漏洞

最近项目开发完毕,在进行安全测试的时候,爆出了一个中级安全漏洞--不安全的HTTP方法,如果对这个安全漏洞有不明白的地方,可以自行问度娘。1、传统Web项目的解决方案在不使用spring boot的情况下,有两种解决方案1、在过滤器中进行拦截,对于不是http安全的方法直接给前端返回错误信息;2、在tomcat的web.xml配置,对不安全的方法进行拦截。下面,我们重点说下第二种方案,因为

2017-08-04 11:47:07 11828 1

原创 spring boot整合redis,实现shiro的CacheManager

接着上一篇博客来讲:Spring Boot整合jpa,Shiro进行权限管理Shiro默认整合了EhCache,来实现缓存,如果我们想用redis替换EhCache来实现缓存怎么做了?我们可以从Shiro的源码来找到一些端倪。我们可以模拟EhCacheManager的实现方式,EhCacheManager类定义如下:public class EhCacheManager implement

2017-08-03 17:45:17 13752 2

转载 Spring Boot整合jpa,Shiro进行权限管理

转:http://412887952-qq-com.iteye.com/blog/2299777本来想写一篇spring boot整合Shiro实现权限验证的文章,发现这篇写的非常不错,就直接借鉴了!(1). Shiro简单介绍Shiro是Apache下的一个开源项目,我们称之为Apache Shiro。它是一个很易用与Java项目的的安全框架,提供了认证、

2017-07-27 12:24:37 10534 11

原创 spring cloud config实现datasource的热部署

关于spring cloud config的基本使用,前面的博客中已经说过了,如果不了解的话,请先看以前的博客spring cloud config整合gitlab搭建分布式的配置中心spring cloud config分布式配置中心的高可用今天,我们的重点是如何实现数据源的热部署。1、在客户端配置数据源@RefreshScope@Configuration//

2017-07-19 19:48:44 12240 9

原创 spring boot部署中一个斜杠引发的血案--org.thymeleaf.exceptions.TemplateInputException

异常现象:在本地打包部署完全没有问题,资源文件也都可以映射上,但是打包成jar包部署到服务器上时,就一直报异常,异常信息如下:严重: Servlet.service() for servlet [dispatcherServlet] in context with path []threw exception [Request processing failed; nested except

2017-07-19 15:55:05 49928 8

原创 spring boot-部署时报org.springframework.beans.factory.BeanCreationNotAllowedException异常

今天在本机测试的时候,一直报这个异常:org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration': Sin

2017-07-05 15:50:10 16792 6

原创 spring boot jpa-java.lang.IllegalArgumentException: Not a managed type异常问题解决方法

最近遇到一个问题:在生产中有两个模块,一个模块负责定时任务,并负责存库,另一个模块则负责读取数据库,并展示,由于是两个不同的模块,所以每个模块中都有一部分entity是公用的,导致整个系统的代码重复率偏高,所以决定将公共部分的entity提取出来,放到一个公共的模块当中,然后运行以前的代码,结果就抛了如下的异常:Caused by: java.lang.IllegalArgumentExcepti...

2017-07-02 12:03:37 16997 6

原创 sentinel directive while not in sentinel mode问题解决方案

今天部署redis的哨兵模式的时候,由于自己的粗心大意,导致部署的时候一致报如下的错误:*** FATAL CONFIG FILE ERROR ***Reading the configuration file, at line 2>>> 'sentinel monitor mymaster 127.0.0.1 6379 2'sentinel directive while not in

2017-06-28 15:02:26 28515 1

原创 Hystrix系列-5-Hystrix的资源隔离策略

Hystrix的资源隔离策略有两种,分别为:线程池和信号量。说到资源隔离,那我们就要明白,我们为什么需要资源隔离。在一个分布式系统中,服务之间都是相互调用的,如下图所示:例如,我们容器(Tomcat)配置的线程个数为1000,服务A-服务R,其中服务I的并发量非常的大,需要500个线程来执行,此时,服务I又挂了,那么这500个线程很可能就夯死了,那么剩下的服务,总共可用的线程为50

2017-06-25 18:57:32 18497 9

原创 Hystrix系列-4-Hystrix的动态配置

Hystrix默认使用Archaius来实现的动态配置,我们在上节中,使用了代码的方式来实现配置,这节,我们使用Hystrix的动态配置来实现。1、实现一个Command,代码如下:package com.example.demo.hystrix.command;import org.apache.http.HttpEntity;import org.apache.http.clie

2017-06-25 16:29:28 9107 7

原创 Hystrix系列-3-Hystrix的配置-通过代码构造配置

一、首先我们来实现一个HystrixCommand,示例代码如下:package com.example.demo.hystrix.command;import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.cli

2017-06-25 15:40:39 1977

原创 Hystrix系列-2-HystrixObservableCommand的使用

在前面一节中HystrixCommand的使用,下面,我们来介绍HystrixObservableCommand的使用。HystrixObservableCommand的作用仍然是用来做资源隔离的,后面会介绍和HystrixCommand的区别,先看用法,示例代码如下:/** * HystrixObservableCommand使用示例 * 只需要集成HystrixObservableCo

2017-06-25 14:46:24 6158 1

原创 spring boot-整合CAS Client实现单点登陆验证

实现方式一:使用第三方的starter1、依赖的jar net.unicon.cas cas-client-autoconfig-support 1.4.0-GA 2、增加配置文件cas.server-url-prefix=http://127.0.0.1cas.server-login-ur

2017-06-13 18:07:05 35400 10

原创 Linux后台运行java的jar包

前言需要执行的jar为:sysrd-test.jar,并已经上传到了Linux服务器上!直接运行方式java -jar sysrd-test.jar通过这种方式部署的时候,SecureCRT的shell是被锁定的,我们无法再执行其他的操作,如下:[root@48 opt]# java -jar sysrd-test.jar . ____ _

2017-05-25 19:53:34 10712

原创 spring boot-同时使用jms的Queue(队列)和Topic(发布订阅)

前言前面有一篇博客讲到了spring boot整合jms的使用http://blog.csdn.net/liuchuanhong1/article/details/54603546但是最近遇到一个需求,需要同时使用jms的队列和topic,于是就有了下面的测试代码:消费者代码@Component // 必须加此注解,该类才会被作为Message Driven POJO使用pu

2017-05-25 19:52:23 7494 9

原创 spring boot-使用Filter实现Header认证

前言假设客户端在http请求中,已经加入了Header的认证信息,例如:HttpPost post = new HttpPost("http://localhost:8990/sendMail"); StringEntity entity = new StringEntity(json, "utf-8"); entity.setContentType("applicatio

2017-05-23 12:02:36 26143 10

原创 使用jodd-email实现邮件发送

最近接到一个新的任务,需要提供一个公共的邮件服务接口给客户端使用,目前需要提供两种访问方式:1、WebService方式;2、Restful方式。在选用具体的邮件发送工具时,放弃了javamail而是选择了jodd-email来实现邮件发送。jodd简介jodd下有一系列非常好用的工具集,如下:jodd-core 一些工具类,包括Printf、JDateTime、Stri

2017-05-22 19:13:58 4064

原创 spring boot-实现WebService(CXF实现)的拦截器(Interceptor)

拦截器(Interceptor)是CXF功能最主要的扩展点,可以在不对核心模块进行修改的情况下,动态添加很多功能。拦截器和JAX-WS Handler、Filter的功能类似,当服务被调用时,就会创建一个拦截器链(Interceptor Chain),拦截器链在服务输入(IN)或输出(OUT)阶段实现附加功能。拦截器可以在客户端,也可以在服务端添加。当客户端发起一个WebService请求

2017-05-22 19:12:58 9956

转载 git常用命令汇总

原文地址:http://blog.csdn.net/crper/article/details/50269227简而言之Git是由Linux kernel创立者 Linux Torvalds 开发的(因为BitKeeper的问题),属于DVCS(分布式版本控制)Github 是一个开源项目社区,始于2007(08上线),GitHub 里面的项目可以通过标准的 Git 命令进行访

2017-05-22 14:32:03 647

httpinvoker入门

介绍了httpinvoker的简单使用方法,里面包含一个普通的方法,和一个实体类

2013-06-13

jdk webservice部署

使用java自带的jdk,实现webservice的服务发布,可以运行,里面描述了我操作的所有步骤

2013-06-13

junit4,单元测试

使用junit4进行单元测试,能满足日常的开发需求

2013-06-13

操作系统复习资料,给需要提高的同学

挺贴合实际的,能给需要考试的同学提供必要的参考,是难的的好资料,该资料包括了好几章,这是第一章

2010-12-14

银行家算法用c的实现算法

该实验报告比较实用,用C语言写成,能够模拟死锁的解决机制,更加进一步的了解死锁的产生

2010-11-17

网络工程师之数据链路层

介绍了ISO协议的数据链路层的结构,功能,及其实现的协议

2010-09-16

网络基础教程之物理层

较详细的介绍了ISO系统中的最底层,包括了物理层的基本概念,实现的功能

2010-09-16

网络工程师学习笔记(全)

该笔记很好的结合了网络工程师的各类考点!

2010-09-03

空空如也

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

TA关注的人

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