------Hello World
JDK:正常配置
Eclipse:正常下载,解压(V3.7)
JBoss:正常下载,解压(V7.1)
在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】
【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/,就算配置成功。
【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 public interface HelloWorldRemote { }
|
package com.ejb;
import javax.ejb.LocalBean; import javax.ejb.Stateless;
/** * Session Bean implementation class HelloWorld */ @Stateless @LocalBean public class HelloWorld implements HelloWorldRemote {
/** * Default constructor. */ public HelloWorld() { // TODO Auto-generated constructor stub }
}
|
在接口里面增加以下方法
public String sayHello(String name); |
类里面实现该方法
public String sayHello(String name){ return "Hello " + name + "!"; }
|
在工程上右键——>【Export】——>【EJB JAR file】
在Destination处:——>【Browse…】——>
选择JBoss服务器的部署目录,我的目录如下:
D:\eclipse-jboss\jboss-as-7.1.1.Final\standalone\deployments\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;
public class ClientTest {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Hashtable<String, String> jndiProperties = new Hashtable<String, String>(); jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming"); try { Context context = new InitialContext(jndiProperties);
final String appName = ""; final String moduleName = "TestEJB"; final String distinctName = "";
Object obj = context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/HelloWorld!com.ejb.HelloWorldRemote");
HelloWorldRemote hwr = (HelloWorldRemote)obj; String say = hwr.sayHello("MengKeFei"); System.out.println(say); } catch (NamingException e) { e.printStackTrace(); } }
}
|
5、在classPath下增加“jboss-ejb-client.properties”文件,内容如下
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false remote.connections=default remote.connection.default.host=localhost remote.connection.default.port = 4447 remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false |
6、运行该客户端,有如下结果:
Hello MengKeFei!