2018年1月27日

清除敏感字符串内容

摘要: 背景:连接邮箱、短信等服务器信息中密码属于敏感信息,需要在内存中清除。常规做法是前台传递密码明文对应char[],使用完后把数组每个元素修改为0。但是必须出现String的情况不适用,比如:连接邮箱服务器使用的用户密码;调用rest接口传递的json字符串包含密码明文。 分析:字符串为final类型 阅读全文

posted @ 2018-01-27 15:46 yaoyu 阅读(887) 评论(0) 推荐(0) 编辑

Websocket实战

摘要: Websocket实现了浏览器和服务器后台互相通信,和传统的浏览器请求服务器不同的特点是:服务器可以推送消息给浏览器。基于html5的websocket,可以做事件机制。 Html5支持websocket,新版本的主流浏览器(Chrome4+,FireFox4+,IE10+)都支持。服务器jetty 阅读全文

posted @ 2018-01-27 15:45 yaoyu 阅读(112) 评论(0) 推荐(0) 编辑

开发调试打印sql语句

摘要: 不能打印sql,那么开发调试又需要sql,怎么办呢? 容器化后,可以修改环境上的jdbc.properties: jdbc.url后面加?statementInterceptors=MySQLStatementInterceptor 例如: jdbc.driverClassName=com.mysq 阅读全文

posted @ 2018-01-27 15:40 yaoyu 阅读(4647) 评论(0) 推荐(0) 编辑

spring事务源码分析

摘要: spring事务入口是 org.springframework.transaction.interceptor.TransactionProxyFactoryBean,定义的拦截器: 接下来就看这个拦截器org.springframework.transaction.interceptor.Tran 阅读全文

posted @ 2018-01-27 15:36 yaoyu 阅读(245) 评论(0) 推荐(1) 编辑

Jersey框架http code自定义以及异常处理

摘要: 背景:使用jersey框架,原CloudSOP使用的ServiceException定义异常带有http code,统一被转为500。比如,403码变成500,对原有界面提示产生影响。 分析:原CloudSOP使用DispatcherServlet处理http code和异常消息。Jersey有自己 阅读全文

posted @ 2018-01-27 15:28 yaoyu 阅读(595) 评论(0) 推荐(0) 编辑

Jersey返回http code非200错误陷阱

摘要: 背景:使用原CloudSOP框架,返回对象被自动格式化成json字符串。换了Jersey框架后,莫名其妙返回204. 通过查看打印日志,发现只要是返回对象为null,必然会返回http 204。 查看源码,JavaResourceMethodDispatcherProvider.TypeOutInv 阅读全文

posted @ 2018-01-27 15:27 yaoyu 阅读(289) 评论(0) 推荐(0) 编辑

spring配置支持数据库连接池

摘要: 背景:PAAS容器化后,使用spring jdbc配置,不支持数据库连接池,对查询和处理效率产生影响。 分析:原CloudSOP使用编码方式,实际datasource使用org.apache.commons.dbcp2.BasicDataSource,spring配置支持注入所需参数。所以,直接配置 阅读全文

posted @ 2018-01-27 14:53 yaoyu 阅读(233) 评论(0) 推荐(0) 编辑

log4j日志动态加载方法

摘要: 每次改了日志级别,需要重启,重启了有些问题不好重现了。而且进入容器,vi修改,再加上重启,再查看日志,整个过程需要30秒到1分钟。 那么怎么实现动态加载配置呢? 查看框架 com.*.*.log.Config4Log4j实现,思路如下: 当前类InputStream log4jPath = getC 阅读全文

posted @ 2018-01-27 14:52 yaoyu 阅读(307) 评论(0) 推荐(0) 编辑

innodb自增id删除重用问题

摘要: 背景:测试在掉电场景中,先掉电订阅服务节点,再掉电数据库节点,上电后监控界面有一个应用始终没有数据,采集确认一直在上报。 根因:在删除最大id的指标项后,mysql发生重启,导致AUTO_INCREMENT自增id重用之前分配过的id。指标同步采用>lastMaxId条件查询导致查不出来,丢失数据。 阅读全文

posted @ 2018-01-27 14:51 yaoyu 阅读(817) 评论(0) 推荐(0) 编辑

数据源配置

摘要: fmdb1.maxActive = 20 连接池最大活动连接数 fmdb1.maxIdle = 10 连接池最大空闲连接数 fmdb1.minIdle = 0 连接池最小空闲连接数,所有连接都空闲可能全部回收掉 fmdb1.timeBetweenEvictionRunsMillis = 180000 阅读全文

posted @ 2018-01-27 14:35 yaoyu 阅读(299) 评论(0) 推荐(0) 编辑

settings.xml

摘要: <?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x 阅读全文

posted @ 2018-01-27 14:35 yaoyu 阅读(95) 评论(0) 推荐(0) 编辑

log4j-app.properties

摘要: log4j.rootLogger=WARN,root#log4j.logger.err=error,root#log4j.logger.out=info,root#log4j.logger.access=WARN,accesslog4j.logger.com.huawei.bsp.log4opera 阅读全文

posted @ 2018-01-27 14:34 yaoyu 阅读(281) 评论(0) 推荐(0) 编辑

spring加载和使用分析

摘要: ClassPathXmlApplicationContext cxa = new ClassPathXmlApplicationContext("test.xml");spring上下文注册过程:org.springframework.context.support.ClassPathXmlAppl 阅读全文

posted @ 2018-01-27 14:33 yaoyu 阅读(255) 评论(0) 推荐(0) 编辑

日志打印

摘要: com.huawei.bsp.log.Config4Log4j设置log4j配置文件配置文件读取优先级顺序:1)$APP_ROOT/etc/;2)start.sh中$JVM_OPT log4j.configuration;3)RUNTIME_CENTER_PATH/etc/com.huawei.bs 阅读全文

posted @ 2018-01-27 14:33 yaoyu 阅读(413) 评论(0) 推荐(0) 编辑

框架rest和i18n笔记

摘要: servlet根据请求url找具体的服务com.*.*.roa.web.DispatcherServlet.doGet RestRegisterItem p = ResourcePoolFactory.getRestServicePool(instName).findResource(path); 阅读全文

posted @ 2018-01-27 14:32 yaoyu 阅读(544) 评论(0) 推荐(0) 编辑

linux命令

摘要: mkdir pubcd pubmkdir softwarecd pub/software/wget http://10.67.147.174:8000/server_certs.zipchmod -R 777 /opt/sh reconstructpkg.shchmod -R 750 /opt/su 阅读全文

posted @ 2018-01-27 14:31 yaoyu 阅读(78) 评论(0) 推荐(0) 编辑

k8s命令

摘要: 编辑pod版本号等信息kubectl edit deployment ams-metric -n manage导出容器内容到文件docker export 1ceefea8d9ff > calc.tar加载tar到本地仓库docker load -i ams-access-1.0.PC5.tar 快 阅读全文

posted @ 2018-01-27 14:24 yaoyu 阅读(1995) 评论(1) 推荐(1) 编辑

导航