小试jboss-5.1.0.GA-jdk6开发EJB3


使用JBOSS5容器,开发一个EJB3的HelloWorld


1.下载jboss-5.1.0.GA-jdk6

http://www.jboss.org/jbossas/downloads.html

2.解压后设置JBOSS_HOME,设置PATH,%JBOSS_HOME%\bin


3.启动JBOSS,%JBOSS_HOME%\bin\run.bat


4.使用Eclipse创建一个JAVA工程,并把%JBOSS_HOME%\client下的所有包导入路径中

jboss-5.1.0.GA的jbossall-client.jar是不可单独使用的,如果不导入client下的包很可能没法运行Client程序,会出现异常:
java.lang.ClassCastException: javax.naming.Reference


5.编写一个简单的无状态Bean,及其实现:

@Remote
public interface HelloWorld {
	public String hello(String name);
}

@Stateless
public class HelloWorldBean implements HelloWorld {

	public String hello(String name) {
		return "Hello " + name + ". " + new Date();
	}

}


6.导出JAR包,使用Eclipse的导出JAR包功能就可以了,EJB3这个打包方便


7.把JAR包放到default/deploy目录,JBOSS会热部署,部署的信息大约如下:

16:56:41,678 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
        HelloWorldBean/remote - EJB3.x Default Remote Business Interface
        HelloWorldBean/remote-org.iff.test.HelloWorld - EJB3.x Remote Business Interface


8.编写EJB3的客户端

public class EJBClientTest {
	public static void main(String[] args) {
		Properties prop = new Properties();
		prop.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
		prop.setProperty("java.naming.factory.initial",
				"org.jnp.interfaces.NamingContextFactory");
		prop.setProperty("java.naming.provider.url", "jnp://localhost:1099");
		try {
			InitialContext ctx= new InitialContext(prop);
			HelloWorld hello = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
			System.out.println(hello.hello("TylerChen"));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


9.运行,OK

你可能感兴趣的:(java,eclipse,html,bean,jboss)