摘要: tomcat 7 WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criter 阅读全文
posted @ 2016-12-24 22:03 zhjh256 阅读(3142) 评论(0) 推荐(0) 编辑
摘要: 一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作。 总体来说,是将部分风控计算相关的表同步到备库,但是同步的表需要从db_act->db_rsk;db_rsk->db_rsk;db_sys->db_rs 阅读全文
posted @ 2016-12-24 17:52 zhjh256 阅读(645) 评论(0) 推荐(0) 编辑
摘要: WebArgumentResolver: SPI for resolving custom arguments for a specific handler method parameter. Typically implemented to detect special parameter typ 阅读全文
posted @ 2016-12-22 14:30 zhjh256 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节。 消费者在开启acknowledge的情况下,对接收到的消息可以根据业务的需要异步对消息进行确认。 然而在实际使用过程中 阅读全文
posted @ 2016-12-21 13:41 zhjh256 阅读(6116) 评论(0) 推荐(0) 编辑
摘要: 最近,我们有些在阿里云上的应用总是有客户端出现异常和信息推送不及时的情况,检查mq日志,发现高峰期不停的有心跳超时,如下: =ERROR REPORT 21-Dec-2016::12:38:00 closing AMQP connection <0.909.1> (125.120.15.131:50 阅读全文
posted @ 2016-12-21 13:13 zhjh256 阅读(16054) 评论(1) 推荐(1) 编辑
摘要: linux启动文件 在Linux系统中,service文件通常位于以下目录之一:/etc/init.d/ (SysV init脚本)/lib/systemd/system/ (Systemd服务单元)/usr/lib/systemd/system/ (Systemd服务单元)这些目录包含了不同的操作 阅读全文
posted @ 2016-12-20 12:42 zhjh256 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 我曾问过很多自称热爱代码的程序员的发展规划,大多都回答说期望成为一名架构师。而在招聘一方,有的团队会过滤掉多次提起架构一词而一点不提具体内容的简历。可见,虽然在大多数程序员眼里,架构师是神圣的,但又不得不承认事实是:“架构”和“架构师”是最常被滥用的。那些写能 PPT 而不能写代码的人,只做和事佬而 阅读全文
posted @ 2016-12-19 21:04 zhjh256 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 今天,项目组一个同事说开发环境一直正常quartz定时任务今天不跑了,因为异常已经封装了,所以应该不是没有捕获异常导致。也检查了JobDetail肯定没有重复的任务,最后检查qrtz_triggers表的时候,发现TRIGGER_STATE为ERROR了,照理应该是PAUSED或者WAITING,网 阅读全文
posted @ 2016-12-19 18:34 zhjh256 阅读(7492) 评论(0) 推荐(0) 编辑
摘要: 同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法。为了减少骨架性代码,通常将它们抽象到sql中,但是肯定又不能在每个mapper中也包含,这样就没有意义了。此时,可以 阅读全文
posted @ 2016-12-17 22:16 zhjh256 阅读(6884) 评论(0) 推荐(1) 编辑
摘要: 最近在转一个原来使用oracle,改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦)。 date 公元前4712年1月1日至公元9999年12月31日 datetime:取值范围:1000 阅读全文
posted @ 2016-12-17 21:57 zhjh256 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 昨天晚上,运维过来说有台生产服务器的mysql cpu一直100%,新的客户端登录不了,但是已经在运行的应用都正常可用。 登录服务器后,top -H看了下,其中一个线程的cpu 一直100%,其他的几乎都空闲。 MySQL thread id 14560536, OS thread handle 0 阅读全文
posted @ 2016-12-16 09:29 zhjh256 阅读(833) 评论(2) 推荐(0) 编辑
摘要: 关于long、double、BigDecimal在效率、可用性、灵活性等等方面的技术性讨论和测试其实在网上已经很多了,本文也不是打算讨论他们的实现的,其实笔者也曾在很长的职业生涯周期中一度拘泥于此。但是渐渐的,已经对此没有那么的一根筋在乎了,至少从整个决策思路而言。 在涉及到金额或金融的计算中,有些 阅读全文
posted @ 2016-12-15 18:18 zhjh256 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 最近,在测试迁移公司的交易客户端连接到自主研发的中间件时,调用DAO层时,发现有些参数并没有传递,而在mapper里面是通过parameterMap传递的,因为有些参数为null,这就导致了参数传递到数据库的时候也是null,进而导致出错。因为我们公司的业务代码是通过类似一种模板的方式封装的,所以一 阅读全文
posted @ 2016-12-15 13:31 zhjh256 阅读(2476) 评论(0) 推荐(0) 编辑
摘要: Mysql 5.7.17发布了,主要修复: Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in 阅读全文
posted @ 2016-12-13 16:30 zhjh256 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 最近,MQ经常有丢包的现象,看各connection/channel/consumer/queue的组成情况,发现差别比较大。 channel与消费者: [root@iZ23nn1p4mjZ bin]# rabbitmqctl list_channels vhost name consumer_co 阅读全文
posted @ 2016-12-13 13:42 zhjh256 阅读(2867) 评论(0) 推荐(0) 编辑
摘要: rabbitMQ publish丢包分析 默认情况下,rabbitmq的消息发送是异步机制,客户端最多可以缓存1000个消息,如果未发送完之前宕机,就可能丢消息。 要保证消息发送的可靠,可以采用三种机制,1、异步ACK确认;2、使用AMQP提供的事务机制;3、先落库,然后发送。可以参见https:/ 阅读全文
posted @ 2016-12-13 13:40 zhjh256 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 这几天,老有几个环境在中午收盘后者下午收盘后那一会儿,系统打不开,然后过了一会儿,进程就消失不见了,查看了下/var/log/message,有如下信息: Dec 12 11:35:38 iZ23nn1p4mjZ kernel: INFO: task java:27465 blocked for m 阅读全文
posted @ 2016-12-12 14:13 zhjh256 阅读(1104) 评论(0) 推荐(0) 编辑
摘要: 最近有台服务器的MQ应用占用内存比较偏高,如下: 但是看控制台本身内存中消息积压并不多, 查看rabbtmqctl发现,binary data和other data占据了绝大部分的内存,如下: {memory, [{total,124441400}, {connection_readers,5548 阅读全文
posted @ 2016-12-10 14:57 zhjh256 阅读(1805) 评论(0) 推荐(0) 编辑
摘要: 中午,公司群里面测试人员@笔者说,早上测试服务器异常,MQ起不来,重启os了也起不来,报错,上去看下了早上又因为内存oom被内核killed了,启动了下,确实启动报错,erl vm进程起来了,但是beam.smp进程没有起来,看下了MQ启动日志startup_log,有如下信息: 初步查了下,应该是 阅读全文
posted @ 2016-12-10 14:22 zhjh256 阅读(1764) 评论(0) 推荐(0) 编辑
摘要: Aviator是一个高性能、轻量级的 java 语言实现的表达式求值引擎, 主要用于各种表达式的动态求值。现在已经有很多开源可用的 java 表达式求值引擎,为什么还需要 Avaitor 呢? Aviator的设计目标是轻量级和高性能,相比于Groovy、JRuby的笨重, Aviator非常小, 阅读全文
posted @ 2016-12-08 19:10 zhjh256 阅读(3614) 评论(0) 推荐(0) 编辑
摘要: 今天在升级了某些依赖jar的版本启动一项目后,velocity中的有些定义在common.vm中变量居然变成了null,没能include进来导致,而没升级的环境是ok的,经过反查,最后发现是将velocity-tools-beta1.jar升级到了velocity-tools.jar为止,velo 阅读全文
posted @ 2016-12-06 18:34 zhjh256 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 今天迁一系统时发现有个bean使用@Resource注入了另外一个bean,这个被注入的bean是将被deprecated的类,而且只有一两个功能使用到,为了先调整进行测试,增加了@Lazy注解,启动时发现这个bean并没有延时注入,所以启动出错,后在stackoverflow上发现有人也提到了这个 阅读全文
posted @ 2016-12-06 18:22 zhjh256 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 完整排名,本月前20名的排名都没有发生变化,唯一值得注意的是随着RDBMS对nosql的支持,后续两年中mongodb不知道会发生什么样的变化,毕竟这些年来要颠覆RDBMS的忽悠太多,但不少独立的所谓nosql供应商都因为过于小众而消失了,最主要还是很多时候远没有到真需要nosql的需求,而且很多n 阅读全文
posted @ 2016-12-04 16:37 zhjh256 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 公司现在的很多自动化代码生成使用excel VBA,本来这事跟自己一点关系打不着,不过计划年底切换中间件,这得导致部分代码结构调整,自己还得去调整测试,老忘掉这快捷键,特记录下,Alt + F11。 excel插入按钮(默认不开),如下: 先打开 文件-选项-自定义功能区 在右侧 ”自定义功能区“ 阅读全文
posted @ 2016-12-04 13:21 zhjh256 阅读(2004) 评论(0) 推荐(0) 编辑
摘要: 刚把上周说的公司内各工程的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 阅读(2694) 评论(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 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 昨晚一台测试服务器连接本机的mysql时,有些调用存储过程报"The user specified as a definer ('root'@'%') does not exist",后来发现root@%用户被删除了,但因为是通过localhost连接的,始终没明白为什么会出现这个问题,后来临时创建 阅读全文
posted @ 2016-11-30 14:29 zhjh256 阅读(230) 评论(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 阅读(3441) 评论(0) 推荐(2) 编辑
摘要: 有些时候,我们需要批量的删除rabbitmq中的队列,尤其是对于那些客户端配置了队列不存在时自动创建,但断开时不自动删除的应用来说。 rabbitmqctl并没有包含直接管理队列的功能,其提供的vhost粒度有时候过大以至于无法满足要求。rabbitmqadmin默认是没有随安装自带的。 在启用了r 阅读全文
posted @ 2016-11-30 13:21 zhjh256 阅读(4990) 评论(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 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 处于布局省事考虑,通常会用splitcontainer进行总体的布局,例如: 默认情况下,splitcontainer在运行时会根据上下文自动调整每个panel的大小,但大部分情况下,其实我们希望左边或者上面部分是固定的,所以需要设置如下: IsSpliterFixed属性设为False Fixed 阅读全文
posted @ 2016-11-28 16:30 zhjh256 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 在某些时候,处于重用pojo的考虑,我们希望在不同的datagridview之间进行复用,这就涉及到pojo中的字段会比有些datagridview所需要的字段多,默认情况下,.net对于pojo中的额外列会根据熟悉名自动生成列,如下所示: 通常,这不是所期望的,还好,API本身提供了接口(属性窗口 阅读全文
posted @ 2016-11-28 15:27 zhjh256 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1、线程池 默认情况下,nginx的work process按照顺序一个个处理http请求,因此如果后台处理时间较长,则work process会长时间等待IO状态,因此限制并发性。如下所示: 所以,对于可能存在的这类http请求,一般会启用线程池。默认情况下,线程池特性并不启用,需要在编译时增加编 阅读全文
posted @ 2016-11-27 20:24 zhjh256 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证。对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每次报文本身的加解密(这一般使用AES(最主流的加密算法)/DES加密),对于较为安全的支付通道,则一 阅读全文
posted @ 2016-11-26 16:21 zhjh256 阅读(1903) 评论(0) 推荐(0) 编辑
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 spider支持在请求执行前或完成后进行特殊处理,比如安全性检查、敏感字段混淆等等。为此,spider提供了BeforeFilter和AfterFilter。其执行位置如下图所示: 流水线插件配置 阅读全文
posted @ 2016-11-24 07:56 zhjh256 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 为了满足灵活扩展的需要,spider支持灵活的自定义插件扩展,从功能上来说,插件和过滤器的差别在于过滤器不会阻止请求的执行同时对于主程序不会有API上的影响(比如servlet 过滤器和监听器)( 阅读全文
posted @ 2016-11-24 07:53 zhjh256 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 今天在搞中间件的客户端管理工具时,遇到需要管理tabcontrol子页的问题,希望在右击标签页是弹出关闭、关闭其他的提示框,如下所示: 可通过增加一个ContextMenuStrip,并在tabControl上增加MouseUp事件来实现,如下所示: 阅读全文
posted @ 2016-11-23 19:39 zhjh256 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 因为笔者早期以oracle为主要RDBMS进行设计和优化,所以几乎即使单表超过5000w,多张超过300万以上的表做任意复杂的统计和风控计算都没出过性能问题。如今全面mysql为主线或者说open source rdbms为主线,随着系统逐渐往saas发展,不得不考虑后续大数据量时候的统计性能问题, 阅读全文
posted @ 2016-11-23 16:16 zhjh256 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 为了在独立管理模式下尽可能的容易运行时排查问题,spider中间件提供了一系列restful api用于动态管理当前节点的路由,下游节点等。目前支持的RESTFUL API如下所示: 功能 服务号 阅读全文
posted @ 2016-11-22 21:05 zhjh256 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 请访问https://git.oschina.net/zhjh256/io-spider获取最新更新。 多租户 spider原生支持多租户部署,spider报文头对外开放了机构号、系统号两个属性用于支持多租户场景下的路由。 多租户场景下的路由可以支持下述几种模式: n 系统号; n 系统号+服务号( 阅读全文
posted @ 2016-11-22 20:26 zhjh256 阅读(270) 评论(0) 推荐(0) 编辑