一、环境配置:
JDK:正常配置
Eclipse:正常下载,解压(V3.7)
JBoss:正常下载,解压(V7.1)
二、JBoss Tools安装
在Eclipse里面安装JBoss Tools3.3
1、【Help】——>【Install New Software】——>【Add】
输入:
Name: JBossTools
Location: http://download.jboss.org/jbosstools/updates/development/indigo/
——>【OK】——>【Select All】——>【Next】
——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】
2、【Help】——>【Install New Software】——>【Add】
输入:
Name: JBossTools Aop
Location: http://download.jboss.org/jbosstools/updates/development/indigo/soa-tooling/
——>【OK】——>【Select All】——>【Next】
——>(中间的步骤一直NEXT,需要选择同意)——>【Finish】
三、Eclipse里面配置JBoss
【File】——>【New】——>【Other】
(找到Server,并且选择)——>【Next】
(找到JBoss Community,选择JBoss AS 7.1)——>【Next】
(找到Home Directory)——>【Browse…】——>
(选择JBoss解压的位置,即JBoss Home)——>
(找到JRE,选择你安装的JRE)——>【Next】
——>【Next】——>【Finish】
以上步骤完毕后,在Servers视图内会有JBoss服务器出现。
点击该视图内的启动按钮,JBoss服务器开始启动
浏览器可以访问http://127.0.0.1:8080/,就算配置成功。
四、第一个EJB工程
【File】——>【New】——>【Other】
(找到EJB,并且选择EJB Project)——>【Next】
输入:
Project name:TestEJB
Target runtime:选择JBoss7.1
EJB module version:选择3.1
——>【Next】——>【Next】
(选择Generate ejb-jar.xml deployment descriptor)
——>【Finish】
生成的目录结构中,ejbModule目录为我们要写JAVA源代码的目录。
即EJB写在这里。
在ejbModule目录上右键【New】——>【Other】
(找到EJB,并且选择Session Bean(EJB 3.x))——>【Next】
输入:包名(com.ejb)、EJB类名(HelloWorld),
State type部分:选择Stateless
然后选择Remote ——>【Finish】
自动生成代码如下:
package com.ejb;
import javax.ejb.Remote;
@Remote publicinterface HelloWorldRemote { }
|
package com.ejb;
import javax.ejb.LocalBean; import javax.ejb.Stateless;
/** * Session Bean implementation class HelloWorld */ @Stateless @LocalBean publicclass HelloWorldimplements HelloWorldRemote {
/** * Default constructor. */ public HelloWorld() { //TODO Auto-generated constructor stub }
}
|
在接口里面增加以下方法
public String sayHello(Stringname); |
类里面实现该方法
public String sayHello(String name){ return"Hello " + name +"!"; }
|
五、部署EJB
在工程上右键——>【Export】——>【EJB JAR file】
在Destination处:——>【Browse…】——>
选择JBoss服务器的部署目录,我的目录如下:
D:\jboss\jboss-5.0.0.Beta4\server\default\deploy\TestEJB.jar
然后——>【Finish】
在Console视图会出现详细部署信息
六、客户端代码
1、新建一个普通Java Project工程:
2、加入JBOSS运行库,及jboss\bin\client下的jboss-client.jar包
3、把EJB的接口拷贝到该工程内:
4、新建一个客户端类:类名(ClientTest)
代码如下:
import java.util.Hashtable;
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException;
import com.ejb.HelloWorldRemote;
publicclass ClientTest {
/** * @param args */ publicstaticvoid main(String[] args) { 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"); try { InitialContext ctx = new InitialContext(props); HelloWorldRemote helloworld = (HelloWorldRemote) ctx.lookup("HelloWorld/remote"); System.out.println(helloworld.sayHello("俺的第一个EJB ")); } catch (NamingException e) { e.printStackTrace(); } }
}
|
注意:ctx.lookup("HelloWorld/remote");方法参数
a、IE中进入http://localhost:8080/jmx-console/,
b、点击service=JNDIView,查看EJB的JNDI名称。(如下图)
6、运行该客户端,有如下结果:
Hello 俺的第一个EJB!