远程application client 怎样访问EJB

swfdoudou
02-11-18 5 246

这段时间看资料时发现讲到application client 访问EJB时都是通过以下方式来访问的.
runclient -client ConverterApp.ear -name ConverterClient
-textauth

其中:ConverterApp.ear 为一个Enterprise Application.
ConverterClient 为Application client。它在发布时自动加到了ConverterApp.ear中。
示例程序所用J2EE服务器为J2EE SDK.

这在本机(J2EE SDK服务器) 上没有问题, 可在局域网中另一台机器上执行时则出错。
请问:远程application client 能访问EJB吗? 应该怎样编写client才行?

banq
2002-11-18 22:06

当然可以,让client能够寻找到jndi.property文件就可以。

iceant
2002-11-18 22:58

你需要补充的知识点:
JNDI Specification.
EJB Specification.

sam_java
2002-11-19 04:05

One way of doing this is by passing a set of environment variables to the InitialContext constructor. For example:


import javax.naming.Context; import javax.naming.InitialContext; .... Properties p = new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory); p.put(Context.PROVIDER_URL, url); p.put(Context.SECURITY_PRINCIPAL, username); p.put(Context.SECURITY_CREDENTIALS, password); InitialContext ic = new InitialContext(p);

swfdoudou
2002-11-19 09:14

各位大大,我试了一下你们的方法,好象还是不行。
查看资料发现:runclient 是j2ee自带的一个.bat文件。在runclient 中它会自动检测JAVA_Home , J2EE_HOME等环境变量,所以如果将它与Application Client一同发布到另一台机器上运行时,也不能访问EJB(位于J2EE Server).

请教:
我能直接越过runclient ,而让自己的Application直接与J2EE JNDI server连接,从而取得EJB的RemoteHome对象吗?就象调用RMI时用PerfectTimeI)Naming.lookup("//colossus:2005/PerfectTime");直接取得造型到远程接口。
如果能的话,请问具体该怎么做?


非常感谢!


J2EE初学者






2Go 1 2 下一页