仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 457|回复: 10
打印 上一主题 下一主题

[学习教程] 来看Spring提早加载EJB代办署理

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:24:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。
在Spring中供应了两个代办署理工场Bean来代办署理EJB的会见:
-LocalStatelessSessionProxyFactoryBean-用来会见当地EJB(EJB和它的客户端在统一个容器中)。
-SimpleRemoteStatelessSessionProxyFactoryBean-用来会见远程EJB(EJB和它的客户端在自力的容器中)。
比方:
<bean id="businessComponent" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean" lazy-init=”true”>
<property name="jndiName">
<value>ejb/location.business.comp</value>
</property>
<property name="businessInterface">
<value>com.test.LocationBusinessComponent</value>
</property>
</bean>
SimpleRemoteStatelessSessionProxyFactoryBean是个代办署理工场Bean类,该Bean经由过程jndiName属性就能够查找到这个EJB的home接口。在容器启动的时候,SimpleRemoteStatelessSessionProxyFactoryBean经由过程该JNDI来查找EJB的远程Home接口,接着它会把这个接口缓存起来,如许每次在businessComponent上的办法被挪用时,代办署理就会挪用远程接口上的create()办法来获得这个EJB的援用,而不必要再举行一样的JNDI查找了。businessInterface属性同等与在其他远程服务代办署理工场Bean中利用的serviceInterface,它暗示这个EJB服务依靠在LocationBusinessComponent接口上。
关于这个声明,一件必要注重的事变就是<Bean>元素的lazy-init属性。在《springinaction》中提到:当任何一个EJB代办署理工场Bean在ApplicationContext中利用时,这一点是相称主要的。这是由于在Spring设置文件被装载出去的时分,ApplicationContext作风的Bean工场事后实例化了单实例的Bean。这一般是一件功德,但它大概会招致EJB代办署理工场Bean在EJB被绑定到名字服务之前,试图查找EJB的home接口。把lazy-init设置为true,可确保这个EJB在装载时不会试图查找home接口,直到它初次被利用为止,这将会留有充足的工夫来把EJB绑定到称号服务上。
经由实验,lazy-init属性其实不见效,我的代码场景是经由过程一个init的servlet往载进一个援用了businessComponent的bean,设置了lazy-init属性以后,spring容器仍然会在载进时初始化businessComponent。经由过程查阅spring的api后发明,最好的办理举措是设置lookupHomeOnStartup属性,将该属性为false,spring将会在第一次会见ejb时才往猎取home接口。测试以后,该设置起感化了,变动后的设置以下:
<bean id="businessComponent" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
<property name="jndiName">
<value>ejb/location.business.comp</value>
</property>
<property name="businessInterface">
<value> com.test.LocationBusinessComponent</value>
</property>
<property name="lookupHomeOnStartup">
<value>false</value>
</property>
</bean>
更具体的信息可参考关于SimpleRemoteStatelessSessionProxyFactoryBean的api:http://static.springsource.org/spring/docs/1.2.x/api/org/springframework/ejb/access/SimpleRemoteStatelessSessionProxyFactoryBean.html

还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net网页编程的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-20 23:54:13 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-24 15:15:22 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
分手快乐 该用户已被删除
地板
 楼主| 发表于 2015-2-2 09:48:12 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
不帅 该用户已被删除
5#
发表于 2015-2-6 14:28:03 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
老尸 该用户已被删除
6#
发表于 2015-2-7 18:15:54 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
蒙在股里 该用户已被删除
7#
发表于 2015-2-21 18:48:55 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
海妖 该用户已被删除
8#
发表于 2015-3-6 20:55:33 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-9 21:50:39 | 只看该作者
是一种使用者不需花费很多时间学习的语言
透明 该用户已被删除
10#
发表于 2015-3-17 01:49:36 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
深爱那片海 该用户已被删除
11#
发表于 2015-3-23 12:28:14 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 17:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表