- 博客(98)
- 资源 (1)
- 收藏
- 关注
原创 webclient使用介绍
webclient 和webflux(参考(webflux)) 这一系列,我们可以开好多节课程来讲解 什么是webclient,在spring5中,出现了reactive 响应式编程思想(参考响应式编程文章),并且为网络编程提供相关响应式编程的支持,如提供webflux(参考另外一个教程),他是spring 提供的异步非阻塞的响应式的网络框架,可以充分利用多cpu并行处理...
2019-12-14 23:49:16 19584 1
原创 Connection has been closed BEFORE response异常
最近我组使用的spring cloud gateway 线上偶发返回500,后台查看报错日志信息,发现有一条下面的异常:reactor.netty.channel.AbortedException: Connection has been closed BEFORE response网上狂搜,以我以往的解决思路,欲解决问题,首先复现问题,然后再解决问题,这种最放心,若是实在无法复...
2019-12-14 21:36:20 30467 15
转载 分布式系统事务一致性解决方案大对比
在OLTP 系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob 给Smith 转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。 我们通常只需借助开发平台中特有数据访问技术和框架(例如Spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有ACI
2016-12-20 16:59:31 2912
转载 elasticserch ik配置
IK Analysis for ElasticSearchThe IK Analysis plugin integrates Lucene IK analyzer (http://code.google.com/p/ik-analyzer/) into elasticsearch, support customized dictionary.Analyzer: ik_smart
2016-03-02 17:16:28 794
原创 Quartz job学习
使用集群涉及表结构,CREATE TABLE QRTZ_JOB_DETAILS(SCHED_NAME VARCHAR(120) NOT NULL,JOB_NAME VARCHAR(200) NOT NULL,JOB_GROUP VARCHAR(200) NOT NULL,DESCRIPTION VARCHAR(250) NULL,JOB_CLASS_NAME VARCHAR(
2016-01-22 15:46:56 969
原创 Google Guava 常用功能
1、 Preconditions,前置条件判断没有额外参数:抛出的异常中没有错误消息;有一个Object对象作为额外参数:抛出的异常使用Object.toString() 作为错误消息;有一个String对象作为额外参数,并且有一组任意数量的附加Object对象:这个变种处理异常消息的方式有点类似printf,但考虑GWT的兼容性和效率,只支持%s指示符。例如:
2015-12-06 23:59:52 4510
转载 spring的事件驱动体系介绍
事件驱动模型简介事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;理解它的几个关键点:首先是一种对象间的一对多的关系;最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方);当目标发送改变(发布),观察者(订阅者)就可以接收到改变;观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的),目标无需干涉;所以就松散耦合了它们之间的关系。
2015-12-06 21:45:15 1588
转载 Apache Curator入门实战
Apache Curator入门实战Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。1.Zookeeper安装部署Zookeeper的部署很简单,如果已经有Java运行环境的话,下载tarball解压后即可运行。[root@vm Temp
2015-11-25 11:29:50 857
原创 hadoop 学习(1) hbase安装运行
1、首先现在hbase安装包,解压tar -zxvf hbase-2.7.tar.gz2、配置环境变量export HBASE_HOME=/home/songjinbin/tools/hbase-1.0.03、添加hbase的配置 hbase.rootdir /home/songjinbin/hadoop/hbase
2015-11-17 17:17:56 567
转载 spring数据库读写分类实现方式(现公司使用方式)
现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。我们通常的做法就是把查询从主库中抽取出来,采用多个从库,
2015-11-04 11:11:39 1067
原创 dubbo 学习(5) dubbo多协议和多注册中心
一、配置dubbo多协议模式 dubbo支持多种连接协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议。配置如下:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns
2015-10-30 00:06:18 36064 2
原创 dubbo 学习(4) 集群容错模式和负载均衡模式
一、集群模式调用服务提供者的时候,dubbo提供了各种容错模式。保证获取到可用的服务。各节点关系:这里的Invoker是Provider的一个可调用Service的抽象,Invoker封装了Provider地址及Service接口信息。Directory代表多个Invoker,可以把它看成List,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变
2015-10-27 23:25:19 3714 2
原创 dubbo学习 (3) 启动时检查参数
dubbo对于依赖的服务默认采取了启动的时候就做服务可用性检查,若是不可用将会抛出异常。 dubbo文档中有以下叙述:如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。 主要有三个参数配置: 1、关闭某个服务的启
2015-10-27 13:37:59 8470 3
转载 困扰很久的问题,搭建MAVEN项目后 jar包无法发布到eclipse的web服务器
Eclipse中tomcat部署工程启动后报错:Shell代码 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springfram
2015-10-25 23:18:23 1025
原创 dubbo注解式服务(2)
一、配置服务提供方1、首先配置spring配置<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/s
2015-10-25 00:17:20 9478 2
原创 dubbo初识(1)
一、首先搭建项目,配置spring,项目采用maven构建,目录结构如下:soa-client 服务调用消费者soa-common 提供公用的类soa-server 服务提供者二、配置服务提供者 1、搭建spring配置(略),添加dubbo maven包,如下: com.alibaba dubbo
2015-10-24 23:33:04 1448
原创 hadoop 学习(1) hadoop安装
学习之前,先把环境安装好,系统使用的是centos6.5系统,1、下载hadoop安装包,地址:http://hadoop.apache.org/releases.html2、解压安装包 tar -zxvf hadoop.tar.gz3、配置环境变量 (1)因为hadoop是java项目,首先配置java虚拟机的,环境变量中添加JAVA_HOME指向java安装路径,网上可以搜
2015-10-22 22:50:07 836
转载 mysq 锁机制详解
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL
2015-08-02 23:07:14 1000
原创 总结一些常用的排序算法,备忘
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。 (4)、归并排序
2015-03-17 00:11:36 726
转载 分布式文件系统研究-FastDFS设计原理 (四i)
FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB Storage serverStorage server(后简称storage)以组(卷,group或volume)为单位组
2015-03-11 00:00:02 769
原创 MAVEN 温习总结
原理:利用filter实现对资源文件(resouces)过滤maven filter可利用指定的xxx.properties中对应的key=value对资源文件中的${key}进行替换,最终把你的资源文件中的username=${key}替换成username=value利用profile来切换环境maven profile可使用操作系统信息,jdk
2015-03-10 23:52:00 710
原创 分布式文件系统研究-FastDFS整合Nginx(三)
FastDFS提供了文件的备份,插入,下载的负载均衡等功能。但是作为图片服务器,十分需要HTTP的服务,进行图片的显示。这时就需要整合HTTP服务器。 FastDFS自带了HTTP服务,但是作者余庆大师估计是测试时候自己用的,所以他本人也并不建议使用自带的HTTP模块,而是与其他HTTP Server整合。FastDFS提供了Nginx的模块,今天重点整合Nginx。 一 Ngin
2015-03-10 23:48:56 1305
原创 分布式文件系统研究-fastDFS(二)
一、上传文件FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。 1、修改%FastDFS%/conf/client.conf文件,修改如下:#可自定义,但此目录必须存在,用于存放文件上传logTxt代码 base_path=/home/
2015-03-10 23:15:04 763
原创 spring源码解读之 JdbcTemplate源码
在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTemplate等等 - 看来这是Rod.Johnson的惯用手法, 所谓模板板式,就是在父类中定义算法的主要流程,而把一些个性
2015-03-10 23:14:30 6411 2
原创 分布式文件系统研究-fastDFS(一)
fastDFS的配置1、配置及启动Tracker ServerA、修改%FastDFS%/conf/tracker.conf文件,修改如下#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动Txt代码 base_path=/home/yuqing/fast
2015-03-10 23:13:31 888
原创 too many open files 的问题
近几个月公司我所在组负责的系统一直出现“too many open files” 错误,报错如下:因为我们负责的系统是处理公司的一些对接业务,系统中使用了大量的webservice ,和http连接操作,所以一般使用了xfire,axis,httpclient等等远程调用框架,一些遗留的大批老的代码都存在未关闭的情况,网上找了一些原因:程序经常访问的文件、socket
2015-03-04 17:33:41 1694
原创 类 Properties 的用法
今天工作中fax测试程序如下:public static void main(String[] args)throws IOException { try { @SuppressWarnings("unused") InputStream stream = Class.forName("com.lvmama.proper
2014-12-07 22:10:20 618
原创 Eclipse Memory Analyzer 使用技巧
Eclipse Memory Analyze 是JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。概述对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap
2014-11-27 00:30:15 6306 1
原创 JAXB注解使用
一.Jaxb处理java对象和xml之间转换常用的annotation有:@XmlType@XmlElement@XmlRootElement@XmlAttribute@XmlAccessorType@XmlAccessorOrder@XmlTransient@XmlJavaTypeAdapter 二.常用annotation使用说明 @XmlType
2014-11-26 11:20:40 594
转载 XFire开发客户端几种方式的示例
目录:概述根据默认配置实现代理客户端根据JSR 181注解实现代理客户端根据WSDL自动生成客户端代码动态客户端的实现[一]、概述以 XFire webservice入门开发实例 中发布的服务端为例,WSDL:http://demo.micmiu.com:8080/xfire-base-demo/services/HelloWorldService 。
2014-11-25 23:26:57 995
转载 eclipse 远程服务器端代码调试
远程服务器端服务器端配置eclipse调试器监听端口,有两种方式,任选其一 第一种方式:环境变量export JPDA_ADDRESS=9999 启动tomcat使用sh catalina.sh jpda start启动注意:不要用startup.sh 通过这条命令启动tomcat,会监听JPDA_ADDRE
2014-11-07 16:36:27 3170
原创 linux 下oracle11g 安装
安装环境 Linux服务器:SuSe10 sp2 64位 Oracle服务器:Oracle11gR2 64位系统要求Linux安装Oracle系统要求 系统要求说明内存必须高于1G的物理内存
2014-09-23 21:35:15 726
原创 java 注解 学习
周末闲来无事,想要研究一下注解方面的知识,以前看过几次,都忘记了,这次学习下,并且写篇文章记录下,1、元注解 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 1.1、@Retention: 定义注解的保留策略 Java代码 复制代码代码如下:@Retention(RetentionPolicy.SOU
2014-08-10 00:11:05 1099
原创 java集合之HashMap
hashMap按照哈希算法来存取键对象,有很好的存取性能,在内部设计中,采用数据结构中的数组和链表对数据存储,一般称为链表散列。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难
2014-07-28 21:29:03 628
转载 java spring注解定时器应用
在现在项目中注解应用越来越广泛。为了有更深的理解,前面学习了java注解使用的一些原理,做了相关的总结和梳理,对注解有了更深的认识。趁热打铁,利用理解到的注解做点东西吧。结合日常工作中的一个点,利用注解做一些改造,也可以知道注解在实际项目中的用处。方便以后碰到相关情况可以利用。废话不多说,直入正题:一般的管理系统中,都会有定时执行的任务,一般用于按一定规律进行统计。比如日,周,月的
2014-07-16 13:05:32 921
原创 Collections类
Collections类为集合类的一些工具类,都为静态方法。常用方法如下: @Test public void test() { List list = new ArrayList(); list.add("3"); list.add("1"); list.add("6"); list.add("2"); list.add("5"); /** list添加到l
2014-06-09 23:42:12 968
原创 MogileFS 安装
一、使用用cpan # cpan # cpan> installIO::AIO # cpan> install DBI # cpan> install DBD::mysql # cpan> install MogileFS::Server install Gearman::Client install Gearm
2014-06-09 23:38:13 1423
原创 Velocity的基本使用
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Vel
2014-06-09 23:37:29 1306
转载 js data 格式转换
方法一:这个很不错,好像是 csdn 的 Meizz 写的: [javascript] view plaincopy// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(
2014-05-28 10:14:44 947
ACT文章管理系统
2011-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人