jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 首先还是看HELLOWORLD的无状态会话bean
1 先看服务端的bean,
  建立好接口
  public interface FirstEjb {
  public String saySomething(String username);
 
}

建立好实现
   public interface FirstEjb {
  public String saySomething(String username);
 
}

  然后用myeclipse里jboss的打包功能就可以了(server视图里,右键,management,一步步下去)

  2 建立客户端
  

import javax.naming.InitialContext;

import javax.rmi.*;
public class FirstEjbClient {
 
 
 public static void main(String[] args)  throws Exception
 {
  
   
   InitialContext ctx=new InitialContext();
 // FirstEjb ejb= (FirstEjb)ctx.lookup("FirstEjbBean/remote");
   FirstEjb ejb=null;
   Object h=ctx.lookup("FirstEjbBean/remote");
   ejb=(FirstEjb)PortableRemoteObject.narrow(h,FirstEjb.class);
   
  String s=ejb.saySomething("aaa");
  System.out.println(s);

}

  注意,有的人说在客户端的工程里要引入服务端的EJB整个工程,这样的话,就可以少写些代码,直接用
   // FirstEjb ejb= (FirstEjb)ctx.lookup("FirstEjbBean/remote");

  可以是可以的,但这样来说违反了很多原则的,客户端只需要知道接口其实就可以了,没必要拿这么多东西,

因此比较好的写法应该是上面的,

  还有,把jndi的配置写在

  jndi.properties里了,要放在src目录下哦
   java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

posted on 2008-07-24 01:44  jackyrong的世界  阅读(342)  评论(0编辑  收藏  举报