`
huangyh
  • 浏览: 62367 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
利器:checkstyle findbugs 要点:自定义规则 增量实施 全员参与 持续完善
一套平台多套UI,一个服务多种协议,一个应用多机运行
保持规范的严肃性,强制实施,实施前要向所有成员讲解规范,保证大家都理解了。采用自动化工具和人抽查结合
不要时间上掐的太死,给一些余地
保存到threadlocal里的变量一定要主动清除,否则一直会存放在threadlocal变量里,正确的用法是这个样子 try{   threadlocal.set(xxx); } finally {   threadlocal.set(null); }
老办法:把业务信息记录到数据库. 新思路:抓网页快照,把快照文件保存起来.(对于html页面快照,可以用hidden字段把整个网页内容以提交到后台保存,如果其他ui就要想办法抓屏) 这是一个同事想到的办法,思路不错
   尽可能兼顾以前的需求,新的设计对之前已有的项目不能有太大冲击,要将变化最大程度限制在平台内部,对项目的影响尽可能减少, 确保平滑稳定升级。
设计理念:统一概念,求同存疑,可持续发展
当数据量稍微大点,用jdbc的resultset的方式分页速度很慢,最好还是用hiberante之类的工具,这块他们处理的很好.
明确服务对象,确定使用方法,编写使用示例,面向使用这的这个界线要划分清楚,做到含义明确,无歧义
总控制器接入请求,根据上下问信息,结合配置,进行分支路由
管理集中,运行分布,认证统一 管理最好支持分级管理,这样可以分摊管理任务.单要做好可管理范围控制
平台级别的东西要跟业务系统建立起隔离区域,要能规避变量冲突问题
ThreadLocal有个缺陷,在子线程里无法访问父线程的变量, InheritableThreadLocal 解决了这个问题,自动会把父线程的变量传递个子线程, 子线程只能用,修改了不会影响父线程的 东西 public class Test { private final static InheritableThreadLocal<String> holder = new InheritableThreadLocal<String>(); public static void main(String[] args){ holder.set(& ...
1:异常划分    1:业务异常,这类异常程序需要处理.如:用户不存在之类的    2:运行异常,由统一异常处理机制统一管理即可. 2:异常记录    业务异常用debug级别的日志记录即可    运行异常用error记录,在统一处理异常模块记录 3:异常处理     1:设计统一的异常处理模块,注意,异常显示页面不要再出现异常,否则可能出现死循环.     2:web.xml文件定义异常处理页面,这里定义的异常可以拦截filter,servlet之类的模块扔出的异常, 4:AJAX异常处理     AJAX请求,session超时,需要进行处理
Global site tag (gtag.js) - Google Analytics