第一个EJB项目(eclipse+Jboss)

项目开发环境:

eclipse (Version:Luna Service Release 1 (4.4.1))

Jboss-eap-6.2

JDK1.8.0

创建EJB项目:

File—>new—>EJB Project


接下来,右击ejbModule创建一个sessionbean。

首先,创建一个远程调用的会话bean,默认无状态。

在HelloEJBBean接口中编写sayHello方法

package com.ejb;

import javax.ejb.Remote;

@Remote
public interface HelloEJBBean {
	public String sayHello(String name);

}
编写实现类:

package com.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
/**
 * Session Bean implementation class HelloEJB
 */
@Stateless
@Remote
public class HelloEJB implements HelloEJBBean {


	@Override
	public String sayHello(String name) {
		return name+"HelloFKG";
	}

}

好了,一个简单的ejb就完成啦,接下来就是要导出ejb jar了,以支持客户端的调用。

右击项目——>Exprot——>EJB JAR file,设置jar的名字及路径即可。

接下来就是要编写一个测试的客户端程序:

新建Java Project

配置jndi,编写jndi.properties配置文件(该文件放到classpath路径下)

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

接下来,编写测试类:

public class ejbTest {
	public static void main(String[] args) throws Exception {

		
		InitialContext ctx = new InitialContext(); 
		HelloWorld ejb = (HelloWorld)ctx.lookup("HelloEJBBean/Remote");
		String s = ejb.sayHello("baby");
		System.out.println(s);
	}
}

效果如下:



好啦,到这里为止,第一个ejb项目就完成啦。


学习小结:

其实小编在这过程中,并非一帆风顺的,中间遇到了一些因为版本不兼容而带来的困扰,好在度娘很强大~


错误一:

一开始小编用的jboss版本是7.1,启动JBOSS的时候,会卡在“JBAS015899: JBoss AS 7.1.1.Final “Brontes” starting”的阶段,无法继续。这是因为,jdk1.8不支持jboss7.1。

小编从这里找到了答案:http://d-prototype.com/archives/79


错误二:

Failed to define classcom.ejb.HelloWorld in Module "deployment.ejb01.jar:main"

java.lang.UnsupportedClassVersionError:com/ejb/HelloWorld : Unsupported major.minor version 52.0

这是因为,小编在修改完eclipse默认的jdk之后,忘记修改项目编译时jdk的支持版本。即项目右键—>Java Compiler,修改到与项目匹配的jdk版本,重新编译执行即可。




你可能感兴趣的:(第一个EJB项目(eclipse+Jboss))