Name |
struts2-ejb3-plugin |
---|---|
Publisher |
Agrael Lee |
License |
Open Source (ASL2) |
Version |
0.0.1 |
Homepage |
|
Download |
Overview
该plugin提供struts的Action及Interceptor对EJB组件及Resource的无侵入式依赖注入(DI)。
Usage
Please read this short info here : http://code.google.com/p/struts2-ejb3-plugin/
Example
@Interceptors(Interceptor3.class) public class EjbTestAction1 extends ActionSupport{ private static final long serialVersionUID = 4126146938063764047L; @EJB private TestSessionBean1Local testSessionBean1Local; @EJB(name="ejb/sessionBean1") private TestSessionBean1Remote sessionBean1; private TestSessionBean1Remote session; @EJB public void setSession(TestSessionBean1Remote session) { this.session = session; } @PostConstruct @Interceptors({Interceptor2.class,Interceptor3.class}) public void init(){ //... } @Interceptors({Interceptor3.class,Interceptor1.class,Interceptor2.class}) public String execute() throws Exception { //... return SUCCESS; } }
Installation
将 struts-ejb3-plugin.jar 考入 /WEB-INF/lib 目录中。这时使用的为plugin的默认配置,该配置为 cn/agrael/struts/plugin/ejb3/default-struts-ejb3-plugin.properties中的配置。配置信息如下:
#ENC的默认名 ENCPath=java:comp/env/ #应用服务器的具体实现类,该类是 cn.agrael.struts.plugin.ejb3.ApplicationServer的实现类 ejbContainer=cn.agrael.struts.plugin.ejb3.JbossApplicationServer #是否解析@Resource的标志 true 为解析,false 为不解析 isParseResource=false #是否解析@EJB的标志 true 为解析,false 为不解析 isParseEJB=true #ear的路径名,如果没有则为空字符串 earFileBaseName= #为远程Bean时的JNDI路径 remote=remote #为本地Bean时的JNDI路径 local=local
如果要修改默认的配置,需要在 classpath 下建立为 struts-ejb3-plugin.properties 的资源文件覆盖默认的配置。
除了plugin本身的配置以外,还需要在 classpath 下创建名为 jndi.properties 的资源文件用做 jndi配置 ,plugin 中使用到的jndi查找依赖于该配置。