??xml version="1.0" encoding="utf-8" standalone="yes"?>精品一区在线播放,免费在线国产,国产字幕视频一区二区http://www.aygfsteel.com/zhaochengming/category/31905.htmlzh-cnSun, 15 Jun 2008 00:41:51 GMTSun, 15 Jun 2008 00:41:51 GMT60W???x)话Bean介绍http://www.aygfsteel.com/zhaochengming/archive/2008/06/12/205273.htmlhelloworld2008helloworld2008Thu, 12 Jun 2008 01:31:00 GMThttp://www.aygfsteel.com/zhaochengming/archive/2008/06/12/205273.htmlhttp://www.aygfsteel.com/zhaochengming/comments/205273.htmlhttp://www.aygfsteel.com/zhaochengming/archive/2008/06/12/205273.html#Feedback0http://www.aygfsteel.com/zhaochengming/comments/commentRss/205273.htmlhttp://www.aygfsteel.com/zhaochengming/services/trackbacks/205273.html[4001] 生命周期回调Ҏ(gu)应遵循如下规则:(x)
            1.对于直接定义在BeancM的回调,其格式应该是public void <Method()>?br />             2.对于Beancd独提?单个或多?回调监听器类(拦截?而言Q其格式是public void<METHOD(InvocationContext ctx)>。java.interceptor.InvocationContext提供了调用上下文信息?br />             3.不能够抛出应用异常,但可以抛行期异常。如果在事务中抛Zq行期异常,事务回滚?br />             4.不能够ؓ(f)回调监听器实施依赖注入?br />
注释 描述 典型实现(无状? 典型实现(有状?
@PostConstruct 在实例化Beancd,Ejb容器?x)调用?/span> Ҏ(gu)Bean实例的需求来完成相应的初始化工作Q比如将传入的参数Dl成员变量?/span> Ҏ(gu)Bean实例的需求来完成相应的初始化工作Q比如将传入的参数D值给成员变量?/span>
@PrePassivate 在挂起Bean实例前,容器?x)立卌用?׃内存中存在太多的Bean实例Q因此需要将?x)话状态保存到盘? 未用?/span> 释放Bean实例可能持有的Q何资源?/span>
@PostActivate 在激zBean实例后,容器?x)立卌用?׃客户需某Bean实例Q因此需要将以前的会(x)话状态交换到内存? 未用?/span> Bean实例重新获得所需要的M资源Q比如哪些在执行@PrePassivate回调期间释放的资源?/span>
@PreDestroy 在结束对@RemoveҎ(gu)的调用之后,而在销毁Bean实例之前QEjb容器?x)立卌用?/span> 为销毁Bean实例做准备。释攑ַ分配l它的所有资源?/span> 为销毁Bean实例做准备。释攑ַ分配l它的所有资源?/span>



helloworld2008 2008-06-12 09:31 发表评论
]]>
EJB client调用EJB3 (? http://jalyspace.spaces.live.com/blog/cns!BBFE3C83B4EE964B!223.entryhttp://www.aygfsteel.com/zhaochengming/archive/2008/06/02/205342.htmlhelloworld2008helloworld2008Mon, 02 Jun 2008 07:18:00 GMThttp://www.aygfsteel.com/zhaochengming/archive/2008/06/02/205342.htmlhttp://www.aygfsteel.com/zhaochengming/comments/205342.htmlhttp://www.aygfsteel.com/zhaochengming/archive/2008/06/02/205342.html#Feedback0http://www.aygfsteel.com/zhaochengming/comments/commentRss/205342.htmlhttp://www.aygfsteel.com/zhaochengming/services/trackbacks/205342.html 

 EJB client调用EJB3 (?/span>)

当你?/span>EJB3?/span>deploy to jboss的情况下Q?/span>ejb client调用EJB3分两U情况:(x)

1)      发布?/span>jboss?/span>web app作ؓ(f)client来调?/span>EJB

EJB和调?/span>EJB?/span>WEB 应用都发布在Jboss 集成环境下。在Jboss下发?/span>WEB 应用Q需要把WEB 应用打包?/span>war 文g。另?/span>在此环境下调?/span>EJB 不需要把EJB 的接口类攑օ/WEB-INF/classes/目录?/span>Q否则在调用Stateful Bean ׃(x)发生cd冲突Q引发下面的例外

java.lang.ClassCastException: $Proxy84

org.apache.jsp.StatefulBeanTest_jsp._jspService(org.apache.jsp.StatefulBeanTest_jsp:55)

如果EJB和调?/span>EJB?/span>WEB 应用都发布在Jboss 集成环境下,那么EJB?/span>Local?/span>Remote接口都可以被调用

发布?/span>Jboss 下的客户端不需要明设|?/span>JNDI 讉K的上下文环境Q可以直接通过

InitialContext ctx = new InitialContext()

获得上下文环境,容器?x)自动赋l?/span>InitialContext 正确的环境,例如Q?/span>

InitialContext ctx = new InitialContext();//客户端和jbossq行在同一?/span>jvm,不需要传?/span>props

HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");

如果给InitialContext 讄了访问属性,反而会(x)带来不可UL的问?/span>Q因Z的应用有可能部v?/span>weblogic {应用服务器。(本教E考虑到部分同学可能需要在独立?/span>J2se 中调?/span>EJBQؓ(f)了教学的方便Q把讉K属性都设上了,q样不管?/span>jboss?/span>j2se 或独?/span>tomcatQ都能获得正的InitialContextQ?/span>

2)      在单独的Tomcat?/span>J2SEQ如junit testQ中调用EJB

在正式的生环境下,大部分调?/span>EJB 的客L(fng)可能是单独的Tomcat ?/span>Resin。下面介l如何在单独?/span>Tomcat服务器中调用EJB?/span>在单独的Tomcat 服务器中调用EJB 需要有以下步骤Q?/span>

A)                    把调?/span>EJB 所依赖?/span>Jar 包拷贝到tomcat 下的/shared/lib 目录?/span>WEB 应用?/span>WEB-INF/lib?/span>,所依赖?/span>Jar?/span>jboss 安装目录?/span>client目录?/span>。你可以?/span>eclipse里设|一个自定义?/span>library “ejb3 library”Q把q些jars都添加到?/span>library里,然后在你?/span>EJB project里把“ejb3 library” add to classpath

B)                     ?/span>EJB 接口拯到应用的/WEB-INF/classes/目录?/span>

C)                     客户端访?/span>EJB 时必L设|?/span>InitialContext 环境属性,代码如下:

Properties props = new Properties();

props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");

props.setProperty("java.naming.provider.url", "localhost:1099");

props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");

InitialContext ctx = new InitialContext(props);//客户端和jbossq行在同一?/span>jvm,不需要传?/span>props

HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");

Tip: 除了上面通过编码设|环境属性的方式外,q可以在应用?/span>classpath 下放|一?/span>jndi.properties 文g

注意Q在单独?/span>tomcat?/span>J2SE里不能调?/span>EJB ?/span>Local 接口Q因Z?/span>JBOSS 不在同一?/span>VM 中?/span>J2se中调?/span>EJB3 同样需要把上述jar ?/span>EJB 接口攄在应用的c\径下?/span>(如果?/span>JBossQ则需要把JBoss_HOME/client下的 jbossall-client.jar ?/span>jnp_client.jar引入C的工E里)

 


helloworld2008 2008-06-02 15:18 发表评论
]]>
վ֩ģ壺 | | Ϫ| | | ɽ| ɳƺ| | | | | | | | Ӧñر| | | | ˮ| ɽ| | | | | ͩ| | | | | ɽ| | | ʼ| γ| | | ͼƬ| | Ӣ| | Դ|