发布一个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包,将文件拷贝到发布目录下即可。