先新建一个接口,HelloWorld.java:
package com.itcast.ejb3;
public interface HelloWorld {
public String say(String name);
}
再新建一个实现类,HelloWorldBean.java
package com.itcast.ejb3.impl;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import com.itcast.ejb3.HelloWorld;
@Stateless
@Remote(HelloWorld.class)
public class HelloWorldBean implements HelloWorld {
public String say(String name) {
return name + "说,hello world";
}
}
然后将这两个文件打成jar包,HelloWorld.jar,并将这个jar包放入到F:/jboss-4.2.3.GA/server/default/deploy中去部署
然后在新建一个测试类,EJBClient .java
package com.itcast.ejb.client;
import java.util.Properties;
import javax.naming.InitialContext;
import com.itcast.ejb3.HelloWorld;
public class EJBClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
try {
InitialContext context = new InitialContext(props);
HelloWorld hello = (HelloWorld)context.lookup("HelloWorldBean/remote");
System.out.println(hello.say("高歌对EJB"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
上面的EJBClient也可以这样优化一下:
在src目录下新建一个jndi.properties文件,内容是:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
EJBClient.java改为:
package com.itcast.ejb.client;
import java.util.Properties;
import javax.naming.InitialContext;
import com.itcast.ejb3.HelloWorld;
public class EJBClient {
/**
* @param args
*/
public static void main(String[] args) {
try {
InitialContext context = new InitialContext();
HelloWorld hello = (HelloWorld)context.lookup("HelloWorldBean/remote");
System.out.println(hello.say("高歌对EJB"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}