11 2016 档案

摘要:刚把上周说的公司内各工程的web.xml给统一了,顺便看了下每个tomcat版本对应的标准servlet版本,如下: The XSD version is preferred since JSP 2.0 / Servlets 2.4 (eg: Tomcat 5.5). Note that the X 阅读全文
posted @ 2016-11-30 15:57 zhjh256 阅读(2767) 评论(0) 推荐(0)
摘要:mysql的密码策略通过插件的方式进行检查,插件的名称是validate_password,可通过如下方式安装: mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';Query OK, 0 rows affect 阅读全文
posted @ 2016-11-30 15:08 zhjh256 阅读(1512) 评论(0) 推荐(0)
摘要:昨晚一台测试服务器连接本机的mysql时,有些调用存储过程报"The user specified as a definer ('root'@'%') does not exist",后来发现root@%用户被删除了,但因为是通过localhost连接的,始终没明白为什么会出现这个问题,后来临时创建 阅读全文
posted @ 2016-11-30 14:29 zhjh256 阅读(249) 评论(0) 推荐(0)
摘要:中午调整了一台应用服务的mq ttl参数后,重启时出现如下异常: Caused by: com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol metho 阅读全文
posted @ 2016-11-30 13:25 zhjh256 阅读(3571) 评论(0) 推荐(2)
摘要:有些时候,我们需要批量的删除rabbitmq中的队列,尤其是对于那些客户端配置了队列不存在时自动创建,但断开时不自动删除的应用来说。 rabbitmqctl并没有包含直接管理队列的功能,其提供的vhost粒度有时候过大以至于无法满足要求。rabbitmqadmin默认是没有随安装自带的。 在启用了r 阅读全文
posted @ 2016-11-30 13:21 zhjh256 阅读(5109) 评论(0) 推荐(0)
摘要:继2016年10月12日mysql 5.7.16发布后,percona server 5.7.16终于于11月29日发布了,这是最新版本的5.7系列,可从https://www.percona.com/downloads/Percona-Server-5.7/LATEST/下载。这个版本的mysql 阅读全文
posted @ 2016-11-29 10:12 zhjh256 阅读(187) 评论(0) 推荐(0)
摘要:处于布局省事考虑,通常会用splitcontainer进行总体的布局,例如: 默认情况下,splitcontainer在运行时会根据上下文自动调整每个panel的大小,但大部分情况下,其实我们希望左边或者上面部分是固定的,所以需要设置如下: IsSpliterFixed属性设为False Fixed 阅读全文
posted @ 2016-11-28 16:30 zhjh256 阅读(877) 评论(0) 推荐(0)
摘要:在某些时候,处于重用pojo的考虑,我们希望在不同的datagridview之间进行复用,这就涉及到pojo中的字段会比有些datagridview所需要的字段多,默认情况下,.net对于pojo中的额外列会根据熟悉名自动生成列,如下所示: 通常,这不是所期望的,还好,API本身提供了接口(属性窗口 阅读全文
posted @ 2016-11-28 15:27 zhjh256 阅读(333) 评论(0) 推荐(0)
摘要:1、线程池 默认情况下,nginx的work process按照顺序一个个处理http请求,因此如果后台处理时间较长,则work process会长时间等待IO状态,因此限制并发性。如下所示: 所以,对于可能存在的这类http请求,一般会启用线程池。默认情况下,线程池特性并不启用,需要在编译时增加编 阅读全文
posted @ 2016-11-27 20:24 zhjh256 阅读(1103) 评论(0) 推荐(0)
摘要:在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证。对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每次报文本身的加解密(这一般使用AES(最主流的加密算法)/DES加密),对于较为安全的支付通道,则一 阅读全文
posted @ 2016-11-26 16:21 zhjh256 阅读(1939) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider支持在请求执行前或完成后进行特殊处理,比如安全性检查、敏感字段混淆等等。为此,spider提供了BeforeFilter和AfterFilter。其执行位置如下图所示: 流水线插件配置 阅读全文
posted @ 2016-11-24 07:56 zhjh256 阅读(258) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 为了满足灵活扩展的需要,spider支持灵活的自定义插件扩展,从功能上来说,插件和过滤器的差别在于过滤器不会阻止请求的执行同时对于主程序不会有API上的影响(比如servlet 过滤器和监听器)( 阅读全文
posted @ 2016-11-24 07:53 zhjh256 阅读(346) 评论(0) 推荐(0)
摘要:今天在搞中间件的客户端管理工具时,遇到需要管理tabcontrol子页的问题,希望在右击标签页是弹出关闭、关闭其他的提示框,如下所示: 可通过增加一个ContextMenuStrip,并在tabControl上增加MouseUp事件来实现,如下所示: 阅读全文
posted @ 2016-11-23 19:39 zhjh256 阅读(307) 评论(0) 推荐(0)
摘要:因为笔者早期以oracle为主要RDBMS进行设计和优化,所以几乎即使单表超过5000w,多张超过300万以上的表做任意复杂的统计和风控计算都没出过性能问题。如今全面mysql为主线或者说open source rdbms为主线,随着系统逐渐往saas发展,不得不考虑后续大数据量时候的统计性能问题, 阅读全文
posted @ 2016-11-23 16:16 zhjh256 阅读(513) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 为了在独立管理模式下尽可能的容易运行时排查问题,spider中间件提供了一系列restful api用于动态管理当前节点的路由,下游节点等。目前支持的RESTFUL API如下所示: 功能 服务号 阅读全文
posted @ 2016-11-22 21:05 zhjh256 阅读(382) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 多租户 spider原生支持多租户部署,spider报文头对外开放了机构号、系统号两个属性用于支持多租户场景下的路由。 多租户场景下的路由可以支持下述几种模式: n 系统号; n 系统号+服务号( 阅读全文
posted @ 2016-11-22 20:26 zhjh256 阅读(308) 评论(0) 推荐(0)
摘要:早上一台rabbitmq和Java所在的服务器,客户端反馈超级卡,看io和cpu都不高。发现六七万消息挤压,临时性问题解决之后,看/var/log/messages,发现很多TCP: time wait bucket table overflow,如下所示: Nov 22 10:36:08 iZ23 阅读全文
posted @ 2016-11-22 15:49 zhjh256 阅读(488) 评论(0) 推荐(0)
摘要:设计一个好的框架和设计一个好的软件一样,需要考虑的方面很多,比如扩展性、性能、用户体验、稳健性等等,视不同的场景,每个点都可能导致成败,但他们通常并不是老板们关心的,因为在大部分情况下,他们通常都没有做到极限的渴望,或者说相比业务来说,一台机器不够上两台、十台不够上百台,没什么大不了的,反正花的都是 阅读全文
posted @ 2016-11-22 12:53 zhjh256 阅读(1369) 评论(0) 推荐(0)
摘要:有段时间没搞oracle了,最近要给别人在win 7下装个oracle 10g,特记录备忘下。 使用http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip,直接迅雷可下载 解压后,更改..\db\Disk1 阅读全文
posted @ 2016-11-22 09:13 zhjh256 阅读(530) 评论(0) 推荐(0)
摘要:在通过MapperScannerConfigurer启用了mybatis的映射器之后,默认情况下,在basePackage下的所有接口类都会被无条件的自动代理,如下所示: 此时,无论com.ld.platform.*.dao下的类是否具有对应的实现类,在自动注入的时候,mybatis都会根据完整类型 阅读全文
posted @ 2016-11-21 17:20 zhjh256 阅读(2289) 评论(0) 推荐(0)
摘要:d:\>netstat -ano | findstr "7777" TCP 127.0.0.1:7776 127.0.0.1:7777 ESTABLISHED 11764 TCP 127.0.0.1:7777 127.0.0.1:7776 ESTABLISHED 11764 阅读全文
posted @ 2016-11-21 17:10 zhjh256 阅读(399) 评论(0) 推荐(0)
摘要:最近有个jar改了名字后,有个依赖它的工程死活引用的是老名字,导致打包的时候出错,如下所示: [INFO] [INFO] Building com.ld.base.runtime 1.0.0-SNAPSHOT[INFO] [WARNING] The POM for org.jxls:jxls:jar 阅读全文
posted @ 2016-11-21 17:09 zhjh256 阅读(18331) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider提供了多重安全保障机制,目前主要支持接入握手校验,报文完整性校验,报文加密,报文长度检查四种机制。 接入认证 spider使用两次握手校验,其握手流程如下: 签名AES加密的方式实现。 阅读全文
posted @ 2016-11-20 21:46 zhjh256 阅读(428) 评论(0) 推荐(0)
摘要:关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以长久生存,通常都是有其特定优势和擅长点的。 使用backbone.js作为前端框架的应用通常都是html和javascript分离的,也可参考requirejs的结构。 本文介绍backbone.js的 阅读全文
posted @ 2016-11-20 21:38 zhjh256 阅读(944) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 协议与兼容性 spider使用java语言开发,使用Spring作为IoC容器,采用TCP/IP协议,在此基础上,结合SaaS系统模式的特性进行针对性和重点设计,以更加灵活和高效的满足多租户系统、 阅读全文
posted @ 2016-11-19 21:46 zhjh256 阅读(475) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider有一个配置文件spider.xml,为xml格式,spider.xml采用DTD进行管理,用于管理spider的所有特性、路由、高可用等。 配置文件支持三种不同的方式进行指定: 1、 阅读全文
posted @ 2016-11-19 19:07 zhjh256 阅读(1815) 评论(2) 推荐(1)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 本部分将介绍使用spider RPC开发分布式应用的客户端和服务端。 spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和 阅读全文
posted @ 2016-11-19 16:35 zhjh256 阅读(894) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 测试环境部署结构 测试用例 public @ResponseBody String t1001(Model model,HttpServletRequest request){ PlatformR 阅读全文
posted @ 2016-11-19 16:23 zhjh256 阅读(629) 评论(0) 推荐(0)
摘要:请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider RPC 特性介绍 spider RPC 性能测试 spider RPC 入门指南 spider RPC 配置文件参考 spider RPC 开发指南 spider RPC 安全性 s 阅读全文
posted @ 2016-11-19 16:04 zhjh256 阅读(504) 评论(0) 推荐(0)
摘要:今天安装wordpress完成后跳转到login页面时,出现建立数据库连接时出错。网上清一色的拷贝http://mt.sohu.com/20160917/n468547634.shtml的答案。 只能说这可能是一个原因,但你TMD能不说不外乎么?坑爹的货。。。 最后,检查了下表里面的记录,结果发现每 阅读全文
posted @ 2016-11-18 15:04 zhjh256 阅读(284) 评论(0) 推荐(0)
摘要:因为要搭建个知识库,直接用wordpress,这前提是得先装php,实在不喜欢XAMPP,所以自己折腾,没想到php这一来还不少啊,从头到尾折腾了一个小时多。记录下主要的流程和遇到的坑。 首先官网下载php,http://php.net/downloads.php,用的是5.6.28的版本。 下载后 阅读全文
posted @ 2016-11-18 13:53 zhjh256 阅读(10890) 评论(0) 推荐(1)
摘要:前一篇说了jsrender嵌套循环的使用,在SPA的应用中,广泛使用的一个点就是view模板,使用了SPA之后,每个业务页面不再是独立的html,仅仅是一个segment,所以通常这些segment会被独立的存储,而不是跟demo一样嵌在宿主页面中。因为jsrender的模板本质上就是一个strin 阅读全文
posted @ 2016-11-17 12:23 zhjh256 阅读(1095) 评论(0) 推荐(0)
摘要:最近在参与整合前端的框架,我们知道javascript最强大的模板引擎之一当属jsrender,号称下一代jquery模板引擎的标准实现。 通常在模板merge的过程中,我们会遇到两次乃至三级嵌套的情形,强大的jsrender自然会支持,如下所示: 效果如下: 阅读全文
posted @ 2016-11-17 11:35 zhjh256 阅读(2719) 评论(0) 推荐(0)
摘要:今天在测公司的中间件时发现,增加netty自带的zlib codec压缩处理后,就报decompress failed, invalid head之类的异常。后来发现,直接用bytebuf处理报文体是正常的,但是增加了stringencoder/decoder之后,就会出现这个异常。本来之前就想把这 阅读全文
posted @ 2016-11-16 20:20 zhjh256 阅读(3084) 评论(3) 推荐(0)
摘要:自从大规模使用了虚拟化之后,大流量时soft interrupt在某个cpu很高就是个严重的问题,最近一有时间就研究这个问题,如果网卡本身不支持多队列的话,有没有办法缓解这个问题。 一开始使用rps,效果不是很好,总体来说,设置rps之后,其他cpu确实分担了部分si,但实际效果并不明显。 后来,考 阅读全文
posted @ 2016-11-15 18:59 zhjh256 阅读(2170) 评论(1) 推荐(0)
摘要:昨天一早,开发人员反馈说一个测试环境报Tablespace is missing for table 'db_rsk/XXX",周末刚升级过,特地让开发回去查了下,说脚本中肯定没有drop table的操作。datadir下检查了下,发现frm文件在的ibd文件没有了,bing了下,没发现类似异常。 阅读全文
posted @ 2016-11-15 11:52 zhjh256 阅读(11344) 评论(0) 推荐(0)
摘要:之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都不愿意或者不会升级(通常我们做IT的认为很简单的事情,在其他行业的人来看,那就是天书,不要觉得不可能 阅读全文
posted @ 2016-11-10 19:10 zhjh256 阅读(24946) 评论(3) 推荐(2)
摘要:今天,某个环境又发生了死锁,如下: *** (1) TRANSACTION:TRANSACTION 735307073, ACTIVE 0 sec insertingmysql tables in use 1, locked 1LOCK WAIT 6 lock struct(s), heap siz 阅读全文
posted @ 2016-11-10 17:52 zhjh256 阅读(1717) 评论(0) 推荐(0)
摘要:有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段。 在jackson中,使用最多的JsonNode抽象类并没有提供修改节点值的方法,而是在ObjectNode节点中提供修改 阅读全文
posted @ 2016-11-10 09:28 zhjh256 阅读(18512) 评论(1) 推荐(0)
摘要:最近在高并发的系统中发现,concurrenthashmap除了大家熟知的避免循环期间发生ConcurrentModificationException异常外,还有重要的一点是Retrievals reflect the results of the most recently completed  阅读全文
posted @ 2016-11-09 13:21 zhjh256 阅读(389) 评论(0) 推荐(0)
摘要:最近公司计划将风控逻辑移到slave库进行计算,因为考虑到业务表数据会比较大,此时如果还是走nest-loop的话,即使unique进行连接,因为还是需要至少2次以上LIO才能读一条记录,如果达到类似hash join效果的话,在大数据量下,性能通常可以大幅度提升。 因为memory引擎支持hash 阅读全文
posted @ 2016-11-09 09:41 zhjh256 阅读(921) 评论(0) 推荐(0)
摘要:最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7.15快20-30%左右,percona 5.7.15比mysql企业版5.7.16快10%左右,如 阅读全文
posted @ 2016-11-08 19:18 zhjh256 阅读(1206) 评论(0) 推荐(0)
摘要:最近在考虑公司主要基础三方库版本统一和升级的问题,特看了下tomcat jdk servlet websocket版本的对应关系,如下: nginx前置的j2ee websocket 1.1完整实现方案如下。 js端(一般来说单页面只应该建立最多一两个ws,非单页面也应该仅在portal及一些首页用 阅读全文
posted @ 2016-11-07 07:37 zhjh256 阅读(827) 评论(0) 推荐(0)
摘要:使用标准的JSR 356注解时,需要使用tomcat 8.x版本,如果使用tomcat 7.x的版本,则需要继承WebSocketServlet,否则会报WebSocket connection to,Error during WebSocket handshake: Unexpected resp 阅读全文
posted @ 2016-11-05 12:25 zhjh256 阅读(1279) 评论(0) 推荐(0)
摘要:最近为了省事,决定从excel将表结构生成jquery.datatable的json对象结构,其中要把下划线转驼峰,如下: =LEFT(C251,1)&MID(SUBSTITUTE(PROPER(C251),"_",""),2,100) 阅读全文
posted @ 2016-11-04 16:41 zhjh256 阅读(3454) 评论(0) 推荐(2)
摘要:possible SYN flooding on port 7244. Sending cookie 阅读全文
posted @ 2016-11-03 11:06 zhjh256 阅读(1318) 评论(0) 推荐(0)
摘要:kernel: EXT4-fs (dm-0): Unaligned AIO/DIO on inode 1055943 by mysqld; performance will be poor 阅读全文
posted @ 2016-11-03 11:05 zhjh256 阅读(691) 评论(0) 推荐(0)
摘要:在有些严格的系统中,我们需要做到干净的停止线程并清理相关状态。涉及到这个主题会带出很多的相关点,简单的总结如下: 我们知道,在java中,有一个volatile关键字,其官方说明(https://docs.oracle.com/javase/tutorial/essential/concurrenc 阅读全文
posted @ 2016-11-02 13:04 zhjh256 阅读(321) 评论(0) 推荐(0)
摘要:实现上看,两者都继承于AbstractQueue,但是ConcurrentLinkedQueue实现了Queue,而LinkedBlockingQueue实现了BlockingQueue,BlockingQueue又继承于Queue,增加了几个额外的阻塞方法,而在ConcurrentLinkedQu 阅读全文
posted @ 2016-11-02 12:43 zhjh256 阅读(464) 评论(0) 推荐(0)
摘要:有些时候,需要对特定环境中的Java应用进行实时性能分析,大部分非开发和测试环境(这两者可以使用jprofiler,最佳java性能诊断工具),一般都是用jvisualvm进行基本检测以最小化对系统的影响(其开启后,负载影响大约20%—30%),jvisualvm没有提供cli模式,只提供了GUI。 阅读全文
posted @ 2016-11-02 12:37 zhjh256 阅读(419) 评论(0) 推荐(0)
摘要:今日,测试公司自行开发的一rpc中间件,期间发现top si的比例很高,且几乎只有一个cpu是繁忙的,其他均基本为0。 经查,si主要是系统软中断,最后确定是网卡导致的系统中断。于是,往上搜了下资料,主流的用法是如果网卡支持多队列的,则启用之。 常用的Intel的82575、82576,I350,B 阅读全文
posted @ 2016-11-01 18:53 zhjh256 阅读(4854) 评论(0) 推荐(0)