jboss作Server时ejb的client端class可以在本机成功运行,但不可以在其它机运行

03-06-11 chaoli_cn

1.用jbuilder7开发一个简单的session bean(名为hiworld.HiWorldBean).

2.生成一个空白工作目录(d:\projtemp),将ejb的三个class放到d:\prrojtemp\helloworld\目录下,正确写出ejb-jar.xml,放到META-INF目录下.

3.用jar cf Hello.jar hiworld META-INF命令生成一个Hello.jar文件.

4.copy Hello.jar到%jboss_home%\server\default\deploy目录下.

5.写一client端测试程序.代码是很常规的代码如下

public static void main(String[] args)

{

Hashtable env=new Hashtable();

try

{

env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");

env.put(Context.PROVIDER_URL,"192.168.2.94:1099");

env.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");

Context ctx=new InitialContext(env);

Object obj=ctx.lookup("HiWorldBean");

HiWorldHome

home=(HiWorldHome)javax.rmi.PortableRemoteObject.narrow(obj,HiWorldHome.class);

HiWorld hi=home.create();

System.out.println("client:"+hi.sayHello());

hi.remove();

System.out.println("finished");

}

catch(Exception e)

{

e.printStackTrace();

}

}

6.在jbuilder7中运行成功,将client类复制到另一目录在dos下运行亦成功.

7.将client类复制到另一台机(设名为computer1),同时复制如下jboss\client目录下的包到computer1.

jboss-client.jar;jboss-common-client.jar;jboss-j2ee.jar;jbosssx-client.jar;jboss-system-client.jar;jnp-client.jar;jbossclient\log4j.jar;及Hello.jar和j2ee.jar,并将这些设定到classpath环境变量中

8.运行时出错,而且不同的机器有不同的错误.如在jbuilder中运行,错误常出现在

Object obj=ctx.lookup("HiWorldBean");行

请问是否客户端还差什么配置,还是client程序有不足?

banq
2003-06-11 18:06

设置JNDI