Tag Archives: c3p0

娱乐和实际是两回事啊

半夜上线,又华丽的看见苏拉的三连击。

从昨天开始,继续处理很多琐碎的小事情,因为是开发笔记,所以继续琐碎的记载。

昨天,不,前天做的第一件事情是更换主题。从黑色换成浅绿色为主的界面,背景为白色。界面的事情还有很多要做,不过可以慢慢来。

之前说过的Validation的问题,修正了代码之后还是没有解决,再加上默认的脚本也的确不怎么样,所以最后页面实时验证还是用jQuery来实现。发布之后考虑做个插件结合jQueryStruts2的验证关联。

因为要完全的定制页面的代码,所以选择了修改Struts2的模板,freemarker还是相当易学易用的;Struts2的componet标签也很好。借此,修改了附带的css_xhtml主题,去掉了大量的div标签,更合我心意。对比jsf等其他框架那种代码里面写标签的方式,Struts2真是太亲切了。开发模式中可以一边修改一边看结果,非常快捷。而且,经验告诉我们,优秀的缓存机制会让这种灵活没有任何的性能问题。继续BS一下JSF的大行其道。

完成了第一个简单分页的组件之后,发现了问题:之前一直用的JOTM实现的分布式数据库事务挂掉了。现象是Connection Pool降不下来,一会就达到最大值,程序陷入死锁。网上搜索没有太多结果,这个项目似乎已经多年没有更新了。

于是按照飞翔兄的提示,开心的去鼓浪屿吃馅饼去了。走了不少弯路之后还是找到了。吃的依然很开心。结果半夜回家的时候,我又迷路了。

后来放弃了分布式数据支持,原本是为了和原论坛程序配合,现在打算完全抛弃它,所以也没有必要了。换成了熟悉的c3p0,导入用户数据之后,点击页面。异常!Session is Closed!原来如此,当初娱乐写的分页代码有问题。关联Session的查询对象被带到了事务以外,所以当初连接没有释放,现在查询会话关闭。所以,没有在实际项目中用过的代码果然不值得信任啊。

永远不要破坏依赖层次,把数据层的对象带到了事务以外,就是错误的根源。

要修改这个就有点工作量了,所以暂时放到一边了。恩,明天继续。

顺便放上今天的若干夜景。

http://picasaweb.google.com/lazing/lWHnDD

胖子又喝多了。。。