- 博客(23)
- 问答 (2)
- 收藏
- 关注
原创 netty学习----spring整合netty无法注入bean的问题解决
作者在使用netty集成spring注入调用时普通的@Autowired一直bean注入为null,这里我只是记录针对netty注入spring无法注入bean的解决发放,具体底层实现,希望大神不吝赐教首先上解决代码块,copy过去就可以直接用@Componentpublic class NettyWebSocketServerHandler extends SimpleChannel...
2018-09-19 23:19:39
4515
4
原创 netty学习----Netty对WebSocket的整合
一 . WebSocket简介 在HTTP1.0和HTTP1.1协议中,实现服务端主动的发送消息到网页或者APP上,是比较困难的,因为HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快, 尤其是现在IM(即时通信)几乎是...
2018-09-09 15:37:59
9552
5
原创 SpringCloud学习教程四( 断路器Hystrix )
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务...
2018-02-08 14:59:03
399
转载 SpringCloud学习教程三( 服务消费者Feign )
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并...
2018-02-08 14:23:58
221
原创 SpringCloud学习教程二( 服务消费者rest+ribbon )
在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介 ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Feign...
2018-02-08 11:31:03
197
原创 SpringCloud学习教程一( 服务的注册与发现 Eureka)
本文是根据方志明的springCloud学习教程进行个人细化,记录个人学习的教程可能会做一些小的修改让文章更便于理解,原著参考案例全部采用Spring Boot 1.5.x ,Spring Cloud版本为Dalston.RELEASE一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局...
2018-02-08 10:18:53
461
原创 SpringBoot学习笔记一
SpringBoot学习一 自定义注解 , aop切面 一 .容器启动类 package com.casking.chcs.modules.test.web;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import com.c
2017-08-08 10:43:15
283
原创 使用javassist生成实体对象
javassist能动态生成实体对象,或将java对象以class形式输出,它也可以动态的将数据表在内存中转化为对象,供我们使用,不用每次使用类加载器加载,具有提高数据处理效率的作用,javassist的缺点就是占用内存较多,如果这个类使用的频率非常大,就可以使用javassist,看看如何使用吧。 1.首先在maven中引入javassist的jar包,如果不是maven项目,则加入ja
2017-07-18 11:41:20
786
原创 log4j将日志存储到数据库
log4j是javaEE日志输出文件,通常情况下我们都是把log日志输出到指定的日志文件中,在这儿我们使用log4j将日志存储到mysql,oracle数据库表中,使用log4j前必须引入log4j.jar 和commons-logging.jar这两个jar包。一:配置log4j文件:新建log4j.properties日志文件,系统默认会到src目录下寻找该文件的,添加如下内容。l
2017-07-18 11:40:40
9680
原创 CXF中wsdl2java命令生成webService客户端代码
1.wsdl2java工具的使用前准备,下载apache-cxf-2.7.2�工具�一、环境配置 新建CXF_HOME C:\ProgramFiles(my)\apache-cxf-2.7.2 在CLASSPATH %CSF_HOME%\lib 在PATH中添加 %CSF_HO
2017-07-18 11:39:40
2908
原创 spring aop事务通知(切面异常处理)
Spring Aop切面异常日志记录,本教程使用spring aop来记录service层所报出的异常记录,这样就可以很容易的知道我们项目的异常出现在哪个service方法中了,下面是spring aop异常切面的使用方法。第一步:在我们的spring-context.xml中配置Aspectj自动代理,用于扫描我们自定义的异常处理切面类,代码如下。第二步:自定义我们spring aop异
2017-07-18 11:37:57
4194
原创 多线程中volatile使用的理解
package com.casking.cdds.modules.test.web;public class Counter {//volatile关键字能保证多个内存块中的引用值是最新的可见性,不能保证原子性。可见性只能保证每次读取的是最新的值,但是volatile没办法保证对变量的操作的原子性。public volatile static int count = 0;public synchr
2017-07-18 11:35:41
261
转载 nginx 配置入门
启动绿色文件,无须安装,直接即可启动。据我所知,3种启动途径,其实都类似:一、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。二、命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定)三、命令行到nginx目录,输入start nginx启动,此方式不锁定 启动后,默认情况下(无修改配置),可见到有两个nginx的进程,一个是
2016-11-22 14:51:45
311
原创 JavaSE 多线程
理解多线程:多线程的问题是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了。。。此时就必须等一个人夹一口之后,在还给另外一个人夹菜,也就是说资源共享就会发生冲突争抢。1。单进程单线程:一个人在一个桌子上吃菜。2。单进程多线程:多个人在同一个桌子上一起吃菜。3。多进程单线程:多个人每个人在自己的桌子上吃菜。1. 相关概念
2016-11-15 22:49:18
469
原创 ==和equals的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否
2016-10-09 23:26:08
347
空空如也
IDEA-集成SVN一直加载中....
2017-09-29
IDEA-集成SVN一直加载中....
2017-09-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人