随笔 - 6  文章 - 0  trackbacks - 0
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(2)

随笔分类

文章分类

好友

搜索

  •  

最新评论

阅读排行榜

评论排行榜

    记得有一次在群里的一个朋友,问到了怎样在Spring里控制Hibernate的Session,由于之前工作一直都比较紧张,所以现在才想起。呵呵。
    Spring对Hibernate的Session管理是自动实现的,我们使用getHibernateTemplate()这个方法,对Session的打开,关闭都是由Spring来控制。结果有时候就会出现Session过早的关闭问题,对于这种情况,不知道大家是怎样解决的呢?我之前也在网上看到一些说法,:hibernate的要点19,20这里,不过我测试之后好像还是会出现这个问题,可能是由于我比较菜吧。呵呵。大家也可以照hibernate要点的方法试试,成功的话分享一下。于是我就采用了比较笨的方法,写了个ThreadLocalSession来自己控制处理,这样做虽然是可以自己来控制,但对于Spring的事务管理就不支持了。我也是并不推荐的做法。呵呵。上次的朋友好像对这个ThreadLocalSession有兴趣,今日就贴出来跟大家分享下了。大家可不要扔石头啊。呵呵。

附件:ThreadLocalSession.rar
posted @ 2006-07-29 20:27 badboy 阅读(242) | 评论 (0)编辑 收藏

    昨天终于辞职了,忙了两个月,都无乜时间上来写下野。
记得第二日上班,就被经理捉去开会了,由于项目比较紧张,公司人手又不够,唯有把我摆上台了,呵呵。当时真是有点兴奋,因为第一次接触到项目管理,也算是个很好的锻炼机会。客户公司是按CMM3标准来要求的,整个项目按他们做监控,我们来实施。
    CMM3标准要求对项目的需求分析做得比较详细,接过之前的初步需求分析,连基本的业务架构都系很粗略的(可能是因为与上级客户缺少直接的交流吧,所有需求都是由乙方传递过来的)很多需求不明确的地方,又要通过乙方请示上级客户,整个项目在需求这一块就化了比较多的工夫了。
    遇到这种情况,建议可以直接跟上级客户做交流,一来可以对需求不明确的地方得到解决,二来也可以对上级客户的实际情况有进一步的了解,提一些适当的建议。
    经过一个多星期的需求分析工作,按里程碑的规定,两天之后又需要向乙方提交系统的原型和整体的技术解决方案了。(这两天工作压力非常大,每天都在公司加班到差不多11点,哎。)项目的要求是采用B/S架构,C/S模式来实现的,我跟主工程师讨论了一下后,初步决定了采用web start + spring + EJB + hibernate的技术框架来实现,所以原型暂时只能用Visio来提供几种方案过去了。由于项目紧,人手又不足这个步骤就做得比较粗了,因些乙方对于我们的技术能力也打了一个问号(这是我认为的),因为我们并没有这个技术框架的实施经验,当时我做的DEMO还在调试当中。只有空口说白话,他们当然也对我们的技术失去信心,因些项目也就开始进入疆持的阶段了。
    这里又要总结下了。对于比较急的项目来说,还要采用比较成熟的做法好,采用新技术,对乙方的说服力就不能得到肯定了,这大概也是由于我经验不足吧。即使你技术再高,在客户面前,拿不出一个有说服力的项目实施经验出来,客户的信心还是会大打折扣的。(这是我个人观点)
    疆持了一段时间,由于各方面的因素,项目最终还是失败了。哎,第一次就失败了,心里滋味也不好受,这里简单总结一下,也希望各位大哥,能给点建议分享下成功的经验。
    项目失败后,一个同事就辞职了,我就要跟剩下的CMS新闻发布系统,网站的BUG比较多,开发这个CMS的同事不在同一地方上班,沟通比较麻烦,我调试了两天还没有搞好。网站过几天就要交乙方评估验收了,同事是比较有经验的高手,经理对他做出来的网站很有信心,乙方对我同事的技术也很有信心,但在这个网站上面BUG的确比较多,可是经理就叫我先放下这个工作了,因为经理又接到了一个Compiere ERP开发的项目,于是就叫我着手研究这个Compiere了。(也许是因为上个项目失败和过分自信的原因吧,这里没有批评的意思,我们的经理还是比较有经验和实力的,但这个做法,同时也使我觉得太莽撞了)结果乙方对网站这块,最终还是说BUG太多,评估不出来而失败告终了。接下来也没有什么下文了。
    几个开发的同事都不在,我也曾多次建议经理再找多人手回来。一个人搞开发的滋味真是不好受,虽说也可以给个机会自己锻炼开展,但是对我来说,一个人开发真的没有什么意思。。研究了一个多星期的Compiere,对Compiere的技术框架也有所了解吧,经理的要求就是要重构Compiere的Web这一块,据我了解Compiere的web界面大部分都系在servlet里直接print out 出来的,经理的意思是想用JSP模板的方式显示出来,但模板的方式能不能合适?工作量又有多大?原有的基本功能能不能完全实现?我初步评估了一下,因为Compiere本身的结构问题和我的技术有限的问题,可行性很低。于是各持已见,也讨论了一下,回来之后,我再回头想想,在各个项目上周转了一下,当初进公司时的抱负都变得没有意义了,同时辞职的念头也出现了。年轻人总是冲动的。哈哈。于是昨天回去对这两个月作了个总结就向经理提出辞职了。(没有项目压力的感觉还是挺爽的。^_^)

posted @ 2006-07-29 13:24 badboy 阅读(267) | 评论 (0)编辑 收藏
    昨晚,我跟我们的PM讨论到选课系统的问题,由于选课紧张,同时在线的同学一千多,所以引起服务器的高峰,以致系统有时会崩溃。针对这个问题我也深刻感受过(我们之前都是这样选过来的)。
于是我建议:用集群提高性能来解决。
PM向我介绍了服务器的整体性能,(具体。。。这个不说了,可以算是较高级的服务器吧)同时也指出了整个问题的根本不在于服务器的性能而在于系统的本身,虽然集群可以可提高30%左的性能,他当时就说了句:“整个资源就这么多,谁先到,就先得。所以我们就采取了限制人数的方法。”这汲及到一个系统设计的问题,下面就将自己体会的说说吧,
    当我们对数据进行操作的时候,总是会先把这部份的数据锁起来,以保证数据的正确性,那么当同时有很多人对这个数据进行操作的时候,就会因为先到的人锁住了数据没有释放出来而导致,操作失败。怎么才能防止这种情况呢?我们在设计的时候就要尽量减少对数据库的操作,而将操场作放在一个事务里处理。我们用的是Weblogic服务器,所以设计的时候就尽量的依赖于weblogic的EJB容器进行管理,将事务放到内存里处理,这样就减少了对数据库的操作,提高整体的性能。由于我的文采不好,可能表达得有点模糊,大家就原谅我一次啦。。哈哈。。

    总结一句:就是尽量将事务在程序上处理,不要放在数据库里处理。
posted @ 2006-06-01 22:43 badboy 阅读(148) | 评论 (0)编辑 收藏