发布一个web应用,打包成war文件。单独发布一个EJB组件,打包成jar文件。对于一个J2EE应用,应该打包成ear文件。
在Jboss-Tomcat上部署EJB组件
部署到目录:<JBOSS_HOME>/server/default/deploy
/相关类文件 / META-INF/ejb-jar.xml /META-INF /jboss.xml
ejb.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar> <description>BookStore Application</description> <display-name>BookDB EJB</display-name> <enterprise-beans> <session> <ejb-name>BookDBEJB</ejb-name> <home>mypack.BookDBEJBHome</home> <remote>mypack.BookDBEJB</remote> <ejb-class>mypack.BookDBEJBImpl</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> </session> </enterprise-beans> </ejb-jar>
jboss.xml文件
<?xml version="1.0" encoding="UTF-8"?> <jboss> <enterprise-beans> <session> <ejb-name>BookDBEJB</ejb-name> <jndi-name>ejb/BookDBEJB</jndi-name> </session> </enterprise-beans> </jboss>
打成jar包,将文件拷贝到发布目录下即可。
在Jboss-Tomcat上部署Web应用
保持原来的目录结构,惟一的改动应该在WEB-INF目录下增加一个jboss-web.xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<jboss-web> <ejb-ref> <ejb-ref-name>ejb/BookDBEJB</ejb-ref-name> <jndi-name>ejb/BookDBEJB</jndi-name> </ejb-ref> </jboss-web>
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/j2ee/dtds/web-app_2_3.dtd'>
<web-app>
<!-- ### EJB References (java:comp/env/ejb) --> <ejb-ref> <ejb-ref-name>ejb/BookDBEJB</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>mypack.BookDBEJBHome</home> <remote>mypack.BookDBEJB</remote> </ejb-ref>
</web-app>
以上代码中声明了对BookDBEJB的引用,<ejb-ref-type>声明所引用的EJB类型,<home>声明EJB的home接口,<remote>声明EJB的Remote接口。在程序中可通过<ejb-ref-name>来获得EJB的引用:
InitialContext ic = new InitialContext(); Object objRef = ic.lookup("java:comp/env/ejb/BookDBEJB");
在程序中访问EJB组件,可以指定<ejb-ref-name>,也可以指定<jndi-name>。采用前者可以提高程序代码的独立性和灵活性。例如,如果JNDI的名字发生更改,不用修改程序代码,只要修改jboss-web.xml文件中的<ejb-ref-name>和<jndi-name>的映射关系。
打成war包,将文件拷贝到发布目录下即可。
在Jboss-Tomcat上部署J2EE应用
/EJB组件(*.jar文件) /Web应用(*.war文件) /META-INF/application.xml
application.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<application> <display-name>Bookstore J2EE Application</display-name>
<module> <web> <web-uri>bookstore.war</web-uri> <context-root>/bookstore</context-root> </web> </module>
<module> <ejb>bookdbejb.jar</ejb> </module>
</application>
打成ear包,将文件拷贝到发布目录下即可。

|