`
文章列表
一、背景 系统有三个模块,分别为:组卷、答题卡、阅卷。其功能描述如下: 1、组卷:选择试题并生成试卷。 2、答题卡:根据试卷生成相应的答题卡。 3、阅卷:对作答并扫描后的答题卡进行网上阅卷。   系统有这样的业务逻辑:当开始阅卷后,相对应的答题卡、试卷都不能再修改和删除。于是,阅卷模块与组卷模块、答题卡模块紧密耦合,阅卷模块开始阅卷后要更新试卷、答题卡的状态。   二、问题本质 模块耦合产生一个明显的问题,那就是阅卷模块变得很复杂,例如:开始阅卷要关注试卷,还要关注答题卡。 如果相关联的模块进一步增多的话,阅卷模块将不堪重负。   三、解决措施 想到的一个解决办法,就 ...
task observer 模块划分优先于设计模式,MessageService
异常 使用异常,让你的程序 (1)、写出“现代”的代码 (2)、结构更加清晰 (3)、错误更容易定位 (4)、用户体验更好 (5)、你的模块更加易用和稳定 (6)、你还需要什么呢? 详见:《使用.NET异常机制》   1、每一个系统都要精心设计自己的异常体系结构,例如下图 ELPSysException是系统异常,一般不显示给用户看,主要作用是对check异常的包装。 ELPBizException是所有业务异常的基类,出现这种异常时可以告知用户,可以扩展特定的子异常类。   2、spring mvc在controller层提供了统一的异常处理接口 public ...
什么是事务? 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。 详见:http://baike.baidu.com/view/1298364.htm?fr=aladdin 搜索关键字:数据库事务 事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、 ...
  ./redis-cli -p 6380 keys "znyin*" | xargs -t -i ./redis-cli -p 6380 expire {} 300
未完待续
//var data = {name: "iflytek", year: 1999}; /**********************************************/ var getTpl = function(tpl,data){ var re = /<%([^%>]+)?%>/g; while (match = re.exec(tpl)) { tpl = tpl.replace(match[0], data[match[1]]); ...
同事将tomcat 7的的Connector的connectionTimeout配置为0,结果出现了如下的错误: 比较大的文件无法下载,下载一部分就停止了。日志监控中能看到下面的错误, net error CONTENT LENGTH MISMATCH ClientAbortException IOException  原来,connectionTimeout配置为0表示超时时间为0,并不是“没有超时限制”。 最后将配置修改如下,问题得到解决: <Connector port="8010" protocol="HTTP/1.1" ...
应用程序报错,“java.net.SocketException: No buffer space available”。 使用netstat命令,发现有很多连接处于TIME-WAIT状态。 原来windows操作系统是有最大socket连接数限制的。   参考资料: Windows Socket 最大连接数 netstat大量time_wait连接
  用HibernateDaoSupport类的getSession方法取得Session进行数据库操作后,可以不用关闭Session。 当要使用延迟抓取功能时,用Session类的get方法来得到对象,且不要关闭Session。这样得到的对象是持久对象,上层使用时一定不要更改其属性的值,除非你真的想更改其属性的值且持久化。 利用Hibernate的Native SQL查询来直接执行Sql语句,不要使用jdbc了。 有HQL或Sql语句出现时,应将这些语句封装成DAO中的方法,供外部使用。 在hbm.xml文件中设置实体的BatchSize后,在同一个Session中更新对象时,就会 ...
  用MyEclipse 直接部署maven项目和调试,详见附件。 修改maven web工程的build的outputDirectory为\webapp\WEB-INF\classes,如下所示:   <build> <outputDirectory>${basedir}\src\main\webapp\WEB-INF\classes</outputDirectory> </build>   修改maven web工程的Build Path中的resources文件夹的Excluded为None、Included为Al ...
在Windows 7操作系统上同时安装了Word 2007与Power Designer,结果Word出现了一些奇怪的问题。 切换窗口后,鼠标点击Word,无法获得光标。 在大纲视图中单击,Word无法自动定位。 后来才发现,原来是Word中加载了一个Power Designer的加载项引起的,将其移除就可解决问题。具体操作方法如下:   点击“Word选项——加载项”,转到“com加载项”,将“PowerDesigner12 Requirements COM Add-In for Microsort Word”前的勾去掉。
jdk1.5中的enum类型可以有构造函数,这样就可以为其中的每一项设置不同的类型,代码如下: /** * 审核选项类型 * @author znyin * */ public enum CheckOptionType { /** * 不同意类型 */ UnAgreeType("UnAgreeType"), /** * 是否移交稽查 */ MoveToInspect("MoveToInspect"), /** * 注销方式 */ ...
从SVN上下载源代码后,Project无法Build。 出现些问题的原因是,Project的ClassPath不正确,例如引用Jar包被删除了。从Problem窗口中也能看出一些信息。 利用Hibernate从数据库中获取记录时,报“identity of XXX was altered from XXX to XXX”的异常。 出现此问题的原因是,PO的id属性的get方法中对其进行了修改,要检查之。 启用MyEclipse的内存监控后,有时可能会弹出一个Error,这时最好尽快将MyEclipse重启一下,以免产生严重问题。 当MyEclipse崩掉后,再次动行,无法 ...
spring-基于注释(Annotation)的配置(转) Hibernate实体关系映射 spring官方的文档 struts官方的文档 八个改善Java遗留系统的技巧 myeclipse6.5上基于JAX-WS开发Webservice(中文示例)
Global site tag (gtag.js) - Google Analytics