|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
简介:事件处置的方针应当是完成数据的高度完全性和分歧性。本文是为Java平台开辟无效事件策略系列文章的第一篇,先容了一些妨害您完成此方针的罕见事件圈套。本系列作者MarkRichards通过利用SpringFramework和企业JavaBeans(EnterpriseJavaBeans,EJB)3.0标准中的代码示例解释了这些极为罕见的毛病。
在使用程序中利用事件经常是为了保护高度的数据完全性和分歧性。假如不体贴数据的质量,就不用利用事件。究竟,Java平台中的事件撑持会下降功能,激发锁定成绩和数据库并发性成绩,并且会增添使用程序的庞大性。
关于本系列
事件进步了数据的质量、完全性和分歧性,使使用程序更强健。在Java使用程序中完成乐成的事件处置不是一件简单的事,计划和编码几近一样主要。在这份新的系列文章中,MarkRichards将率领您计划一个无效的事件战略,合适从复杂使用程序到高功能事件处置等各类用例。
可是不体贴事件的开辟职员就会碰到贫苦。几近一切与营业相干的使用程序都必要高度的数据质量。金融投资行业在失利的买卖上华侈数百亿美圆,欠好的数据是招致这类了局的第二年夜要素。尽然短少事件撑持只是招致坏数据的一个要素(可是是次要的要素),可是完整能够如许以为,在金融投资行业华侈失落数十亿美圆是因为短少事件撑持或事件撑持不充实。
疏忽事件撑持是招致成绩的另外一个缘故原由。我经常听到“我们的使用程序中不必要事件撑持,由于这些使用程序历来不会失利”之类的说法。是的,我晓得有些使用程序少少或历来不会抛出非常。这些使用程序基于编写优秀的代码、编写优秀的考证例程,并经由了充实的测试,有代码掩盖撑持,能够制止功能消耗和与事件处置有关的庞大性。这类范例的使用程序只需思索事件撑持的一个特征:原子性。原子性确保一切更新被看成一个独自的单位,要末全体提交,要末回滚。可是回滚或同时更新不是事件撑持的唯一方面。另外一方面,断绝性将确保某一事情单位自力于其他事情单位。没有得当的事件断绝性,其他事情单位就能够会见某一举动事情单位所做的更新,即便该事情单位还未完成。如许,就会基于部分数据作出营业决议,而这会招致失利的买卖或发生其他负面(或价值高贵的)了局。
迟做总比不做好
我是在2000年岁首入手下手存眷事件处置成绩的,事先我正在研讨一个客户端站点,我发明项目企图中有一项内容优先于体系测试义务。它称为完成事件撑持。固然,在某个次要使用程序差未几筹办好举行系统测试时,给它增加事件撑持长短常复杂的。遗憾的是,这类办法其实太一般。最少这个项目(与年夜多半项目分歧)的确完成了事件撑持,只管是在开辟周期快停止时。
因而,思索到坏数据的高本钱和负面影响,和事件的主要性(和必需性)这些基础知识,您必要使用事件处置并进修怎样处置大概呈现的成绩。您在使用程序中增加事件撑持后经常会呈现良多成绩。事件在Java平台中其实不老是如料想的那样事情。本文会切磋个中的缘故原由。我将借助代码示例,先容一些我在该范畴中不休看到的和履历的罕见事件圈套,年夜部分是在临盆情况中。
固然本文中的年夜多半代码示例利用的是SpringFramework(version2.5),但事件观点与EJB3.0标准中的是不异的。在年夜多半情形下,用EJB3.0标准中的_cnnew1@TransactionAttribute正文交换SpringFramework@Transactional正文便可。假如这两种框架利用了分歧的观点和手艺,我将同时给出SpringFramework和EJB3.0源代码示例。
<p>
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解 |
|