1.安装EJB是一个解压缩的过程,但须注意解压目录不能在有中文或空格的目录下;否则启动应用服务器时会出错。
2.第一个EJB应用
1).编写接口
public interface HelloEjb {
public String sayHello(String name);
}
2).实现接口
@Stateless//无状态Bean
@Remote(HelloEjb.class)//设置为远程Bean,注意是接口HelloEjb
public class HelloEjbBean implements HelloEjb{
@Override
public String sayHello(String name) {
return name+"说:你好!";
}
}
3).编写测试类
public static void main(String[] args) {
try {
Properties pos = new Properties();
pos.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
pos.setProperty("java.naming.provider.url", "localhost:1099");
InitialContext ctx = new InitialContext(pos);
HelloEjb hello = (HelloEjb)ctx.lookup("HelloEjbBean/remote");
System.out.println(hello.sayHello("干露露"));
} catch (NamingException e) {
e.printStackTrace();
}
}
3.运行测试类
出现两个问题
1).log4j:WARN No appenders could be found for logger (org.jnp.interfaces.
解决方法是:把struts2或spring中log4j.properties复制到项目的src目录下。
2).javax.naming.NameNotFoundException: HelloEjbBean not bound
解决方法是:把接口和实现类打包成jar放入JBoss的jboss-6.1.0.Final\server\default\deploy目录下0daybank
文章评论