go4it

EJB--SEAM

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  11 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

1.配置JBOSS服务器

2.new EJB project创建项目

3.创建EJB—》new interface,然后new class实现类,xxxBean命名。

4.注解配置EJB:xxxBean类型:@stateful或@stateless和@remote或@local

5.部署EJB。查看JBOSS\SERVER\DEFAULT\DEPLOY里面部署的EJB.

6.开发EJB客户端:

  (1)new java project

   (2)通过接口调用,将接口--》导出jar包到客户端目录下(jar包名随便起,然后添加为项目liberies时点add jar。使用该接口时再导入该包)。

   (3)将接口jar包添加到项目的类路径下。将JBOSS\client下的jar包也添加到客户端项目里面。(可以先在myeclipse里定义一个库—>java—>build path—>user libery)。

   (4)new class--》初始化上下文(JNDI里面的initial context)—》context.lookup(“EJB名称/remote”)--》调用方法。

   (5)在客户端配置JNDI,告诉context:EJB在哪里。在类路径下面(src)目录下添加jndi.properties。

 

java.naming.factory.initial = org.jnp.interfaces.NamingContextFactory

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

java.naming.provider.url = localhost

 

   (6)运行客户端。

 

我实际运行时用jndi.properties文件不能运行成功,提示Cannot instantiate class: org.jnp.interfaces.NamingContextFactory,网上的解决方法是添加jbossall-client.jar但是我添了没效果。于是换成在java文件里面设置,成功。怀疑是我的jndi.properties文件写法有问题,有待验证。

          Hashtable env=new Hashtable();  
          env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");  
          env.put(Context.PROVIDER_URL,"localhost:1099");  
          env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");  
          InitialContext cxt=new InitialContext(env);

posted on 2008-12-09 12:49 go4it 阅读(232) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: