Struts2 EJB3 Plugin

我要开发同款
匿名用户2010年03月27日
143阅读

技术信息

授权协议
Apache

作品详情

该plugi提供struts的Actio及Iterceptor对EJB组件及Resource的无侵入式依赖注入(DI)。

安装方法:将struts-ejb3-plugi.jar考入/WEB-INF/lib目录中。这时使用的为plugi的默认配置,该配置为c/agrael/struts/plugi/ejb3/default-struts-ejb3-plugi.properties中的配置。配置信息如下:

#ENC的默认名ENCPath=java:comp/ev/#应用服务器的具体实现类,该类是c.agrael.struts.plugi.ejb3.ApplicatioServer的实现类ejbCotaier=c.agrael.struts.plugi.ejb3.JbossApplicatioServer#是否解析@Resource的标志true为解析,false为不解析isParseResource=false#是否解析@EJB的标志true为解析,false为不解析isParseEJB=true#ear的路径名,如果没有则为空字符串earFileBaseName=#为远程Bea时的JNDI路径remote=remote#为本地Bea时的JNDI路径local=local

如果要修改默认的配置,需要在classpath下建立为struts-ejb3-plugi.properties的资源文件覆盖默认的配置。

除了plugi本身的配置以外,还需要在classpath下创建名为jdi.properties的资源文件用做jdi配置,plugi中使用到的jdi查找依赖于该配置。

使用例子:

@Iterceptors(Iterceptor3.class)publicclassEjbTestActio1extedsActioSupport{    privatestaticfiallogserialVersioUID=4126146938063764047L;    @EJB    privateTestSessioBea1LocaltestSessioBea1Local;        @EJB(ame="ejb/sessioBea1")    privateTestSessioBea1RemotesessioBea1;        privateTestSessioBea1Remotesessio;        @EJB    publicvoidsetSessio(TestSessioBea1Remotesessio){        this.sessio=sessio;    }    @PostCostruct    @Iterceptors({Iterceptor2.class,Iterceptor3.class})    publicvoidiit(){        //...    }        @Iterceptors({Iterceptor3.class,Iterceptor1.class,Iterceptor2.class})    publicStrigexecute()throwsExceptio{        //...        returSUCCESS;    }}在Iterceptor中使用方式和在Actio中的使用方式相同。

需要注意的是,在Actio的execute(或者自定义的名称)方法中同时使用struts2的Iterceptor和@Iterceptors时,@Iterceptors会在Iterceptor之前开始,在Iterceptor之后结束。

目前的版本暂时不支持@PreDestroy。现阶段只有jboss应用服务器的实现,在以后的版本中会陆续增加如weblogic、glassfish等应用服务器的实现。如果现在需要jboss之外的实现,可实现c.agrael.struts.plugi.ejb3.ApplicatioServer接口,并使用struts-ejb3-plugi.properties修改ejbCotaier为实现类。

功能介绍

该plugin提供struts的Action及Interceptor对EJB组件及Resource的无侵入式依赖注入(DI)。 安 装方法: 将 struts-ejb3-plugin.jar 考...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论