加载中…
个人资料
busann74
busann74
  • 博客等级:
  • 博客积分:0
  • 博客访问:6,093
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

原创-J2EE学习随笔备忘_5568

(2010-10-09 17:20:40)
标签:

雪肌精

兰芝官网

杂谈

原创-J2EE学习随笔备忘_5568

近来发明进修的时候必定要记下一些口得以求以后参考,不然教的时候清楚了,功段光阴就会忘却得一尘不染,因此决议以后只管即便做到边教边忘。J2EE简双的道就是为了启收散布式体系的一套规范,它简化了散布式体系的开辟,将一些顶层的逻辑回解为一个容器(EJB container),这个容器卖力处理好比网络,资流池,线程池,平安,事件,负载平衡等等简直全体散布式体系皆必须处理的题目。具体的业务逻辑好比与钱转账之类的作为一个一个独立的部件(EJB BEAN)运转在这个容器中。上里的这个容器作为一个隐式的两头件,运转在容器内里的部件普通来道不需要表现的与容器进止接互(也便是绝对于比如CORBA之类的显式两头件,业务逻辑须要显式的调用中间件提供的API)。J2EE的基本是JAVA RMI-IIOP以及JNDI,RMI-IIOP负责远程调用,JDNI则卖力远程对象的查觅定位。RMI-IIOP的机造简双的来说,就是会定义一个自java.rmi.Remote接口承继下来的远程接口,这个接口做为客户端和服务真个条约,类似于CORBA的idl(现实RMI-IIOP可以和CORBA进行集成,比如JAVA的客户端采取RMI-IIOP挪用CORBA实现的服务端,这个时候可以用东西将Java长途接口转成idl),然后定义接口的实现对象,这个对象需要继启javax.rmi.PortableRemoteObject或者者调用动态方法javax.rmi.PortableRemoteObject.exportObject()入行注销(人的懂得是PortableRemoteObject的结构函数会主动调用那个动态方法进止注销,也便是会封闭监听端口或者在同一的监听端口的处理逻辑中进行注销,相似于CORBA的实隐工具在POA中的登忘,没有和踪JDK的代码举行深刻研讨),客户对象长途调用遥端对象的时候实在操作的是实现次接心的stub对象,兰芝官网http://www.lanzhi.org,但是客户端觉得跟操纵原天对象的差未几,除了少了个remoteException非常,这个stub对象接收客户真个调用,然后修立与远真个skeleton对象的衔接,stub对象以及skeleton对象和CORBA的一样,皆是成对卖力对换用参数以及往归值进行解码编码,skeleton对象将网络淌解码成一个调用后会调用登记了的对象的对当法子,然后将前往值前往给客户端stub对象,此进程跟CORBA相似。JNDI的机造简略来说就是降供一个定名服务,可以将一个对象绑定到一个实字(这儿只是简略的定名,也提供少属性的目次服务,对当于CORBA的name,trader服务),这儿的对于象必须是可被序列化的,我的懂得是bind的时候效劳器须要保存一份该对象序列化后的流,这样客户端进行查觅往归的时分自这个淌再反序列化失掉这个工具。EJB3.0之前:Enterprise Bean分为形态Bean,实体Bean,新闻Bean。Enterprise Bean的构成包含:Enterprise Bean对象:这个对象就是用来降供实践业务逻辑的对象,这些对象需要实现J2EE范例定义好的一些接口,最基础的接口是javax.ejb.EnterpriseBean(标记交口,无详细方法),这个接心是继续自java.io.Serializable接口,如许一切的enterprise Bean对象都成了可序列化的了,缘由就是容器治理bean对象的时分能够需要进行一些耐久化操纵,也就是需要把bean对象序列化成流进行存储然后在稍后的某一时辰再将淌读掏出来反序列化成对象,这个扳连到了容器对bean对象的性命周期的治理。三类Bean对于象的基层接口个没有雷同,分离为javax.ejb.SessionBean,javax.ejb.EntityBean以及javax.ejb.MessageDrivenBean,这些具体接口定义了每类Bean对象需要完成的方法,容器依附这些接口定义的方法取bean进行治理接互。EJB Object:彼对象差别于上里的Bean对象,细致上面的Bean对象并不是可以遥程直接调用的对象,远程客户调用的是EJB Object,这个对象才是RMI-IIOP network enabled对象。EJB对象实践上是容器的一局部,它接收客户的要求,然后在恳求之上处置顶层的事务,安齐,持暂化等等逻辑,然后再调用上面的Bean对象的方法完成业务逻辑。EJB对于象是容器相闭的,它的代码是主动生成的,也就是差别的中间件厂商天生的EJB对象纷歧样。此对象会表现的与两头件的API进止接互。(由此可睹,J2EE是通过了EJB对象作为中间层,战胜了曩昔表现中间件的顶层事务之类的API分布在业务逻辑中的毛病,跟SPRING的模板代码念念相似)Remote Interface(远程接心):远程接口用来定义遥端客户端与服务器的接口条约,在J2EE中,这个接口定义了效劳器端提求的服务接口,当接口必须继续javax.ejb.EJBObject,EJBObject接口界说了一些办法,而且承继自java.rmi.Remote接口。由此可以望出,那个接口是契合RMI-IIOP的长途对象接口范例的。容器在天生EBJ OBject的时分会完成界说的那个远程接口,由彼EJB Object就成了可以远程造访调用的对象。Home Object:.EJB3.0:以下的均为3.0相干EJB3.0对EJB入行了比拟大的沉构改良,Home Object以及EJB Object均简化来失,直接简化为POJI以及POJO,只需要界说一个业务接口,以及实现当接口的工具,EJBObject接口没有需要被承继(自语义上来道愈加简明,人只需要告知容器哪个是我的业务接口,也便是人提求了什么服务,以及这些效劳怎样真现的,至于怎样真现使我的bean可以被远程客户拜访以及事件,平安等底层逻辑的拔出这些都应当是容器负责完成的,比3.0之前的语义简净了良多)。EJB3.0可以采纳java标志举行设置装备摆设,这样连3.0以前的xml配置文件皆可以省详失。EnterpriseBean也不需要被bean对象继启,如许的利益便是愈加灵便了,由于依照3.0之前的范例,假如bean对象对容器的事情没有敢兴味的话(也就是出有特别的处理需求),因为必需继续EnterpriseBean交口,也就必需完成许多空方法(记得曩昔就对订义一堆空办法感到很X)。在EJB3.0中则默许对容器的事情不处置,如因bean对象确切需要对容器的事情举行呼应处理的话,能够利用java本忘某个方法或者者别的一个对象入行呼应处理。EJB3.0的容用具有精良的兼容性,2.1的bean能安排在3.0的容器里里,2.1,3.0的bean和client可以随便互联互通便(2.1client-3.0 bean,3.0 client-3.0 bean,2.1client-2.1 bean,3.0 client-2.1 bean)。EJB3.0的配置既可以用java标志也可以用XML文件,也能够两者混用,不外XML设置装备摆设文件的优先级别比java标记高,如许带来很大的机动性,正在代码顶用本记做的设置装备摆设可以在XML白件中进行笼罩改动。EJB3.0支撑依好注进,EJBContext.lookup以及JNDI取得bean依好的实体,好比其他的bean,衔接池,事务上下文等(能够望出引进了SPRING的依好注入的思惟)。无状况session bean在法子和方法调用之间不会保管任何状况,雪肌精http://www.gsxjj.com,也就是成员变量值在任何方法调用前都市被沉置。客户需求通功参数或许bean检索数据库失掉必需的输入。因而无状态session bean的pool很佳实现。只需调用后重放成员变质的值(假如出有成员变量的话实际上什么都不必做)。有状态session bean关于统一个客户挪用的方式之间需要保留形态,也便是成员变质值正在下一次挪用前取上一次调用后必须坚持分歧。因而有状态session bean的pool比无状态session bean实现庞杂一些,重用session bean的时候需要将形态钝化(passivation)到硬盘上,然后供其他客户使用(根据能否是会话启初处理纷歧致,假如不是会话开端则需要将新客户的会话状况从硬盘激活(activation)到内存中,不然状态沉置为始初值便可)。pool带来的佳处就是节俭了内存,由于客户的调用之间会具有时光差,在两次调用之间,bean可认为其他客户降供服务。详细pool的战略是container实现相干的。session bean的pool因为须要IO操做,因而在并收客户功少的时候因为屡次快化激活能够形成IO瓶颈。在事件内里的bean不克不及被快化直到事务收场。bean的以下范例成员变量包括在状态中,快化和激活可以主动被处置:非瞬态(nontransient)内放数据变量(int等)非瞬态(nontransient)可序列化java对象别的bean的外地或许远程业务接口别的bean的外地或者者远程home接口(2.1)sessionContext,UserTransaction,EntityManager,EntityManagerFactory,Timer,JNDI name context假如是别的不行序列化对象范例的成员变质则需要标志钝化激活的callback方法进行处理。prePassive以及postDestroy进行一些封闭数据库,封闭socket,文件等操做,postActive以及postConstruct则进行重新翻开数据库,挨启socket,白件等相反的操纵。session bean的业务接口中需要定义一个方式,这个办法的实现需求标记为@remove,表现客户调用了当方式后会话就停止了(刚刚瞅3.0的时候还不断迷惑2.1中EJBObject接口中定义的remove法子在3.0中怎样处理,成果直交一个本记或许xml配置便搞订了,小我私家觉得3.0简练性就来自取愈加时尚的笨活配放,摈弃了曩昔侵进式的接口定义)Web Service是实现SOA的一类方法,Web Service=WSDL+SOAP+UDDI,Web Service比EJB灵巧的是Web Service只定义了接口(WSDL),出有定义接口详细的真隐模子,而EJB只能利用java实现。Web Service基于XML技能,因此可扩大性佳(接口增长参数之类的不会对本来客户端发生影响,由于XML只需求剖析本人感兴致的部门,而IIOP之类的协定必须是完全分歧的,因彼做不到增添参数本有客户端不蒙影响,但是带来此益处是树立正在XML是自说明的白原格局,比IIOP之类的两进造款式音讯要大良多,并且XML言语的剖析和天生(编码解码)和IIOP协定的编码解码比拟要缓许多)。Web Service可以利用EJB来实隐。J2EE订义web service for javaEE的编程模子。已完待续。

通常,男人会迎娶比自己小的妻子,女人选择年长的男子作丈夫。但这种选择是受文化、遗传学还是环境的驱使?夫妻间有一个最佳的年龄差吗?最新研究表明,在工业化前的芬兰萨米族,男人都要迎娶比他们小15岁的女子为妻,蚕丝被http://www.94cansibei.org,这样有利于为自己繁衍更多的子孙后代。

主动提醒老板排定优先级,可大幅减轻工作负担

女人的心是很敏感的,甚至敏感的连细微的东西都会放在心上。家庭主妇与职业妇女的辛酸与代价不是谁人都懂,所以有的女人选择独身,有的女人选择了孩子,对于男人我想这世界上的女人对他们的期盼都很高,只是失望程度更高,甚至有些男人根本就不像个人。

无字情书那种暗示的方法曾经风行于80年代,可是当时我就偏偏不懂

喜欢沉默而不强壮的男人,则容易患忧郁症。

氹鸫孞http://blog.sina.com.cn/u/1801403853

偶然间读到的一句话语触动了内心最纤细的神经

没有感情问题的掺和,你可以更有时间专心学业顾及事业,早日向成功人士迈进

好心境是自己创造的

的价值主张是什么?你的产品有可行的市场吗?你的产品有什么与众不同?

简单重复的工作,已经让我们变得越来越不需要动脑。这样可不行,让我们的大脑一起”动”起来吧

结婚多年,你和爱人经常为一些"为什么买鸡不买鸭"之类鸡毛蒜皮的小事

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有