当前位置: 技术问答>java相关
请问客户端运行EJB的环境
来源: 互联网 发布时间:2015-01-11
本文导语: 请问各位: 我在weblogic server上部署了EJB,如果我的EJB和客户端不在同一台机器上,那我的客户端是不是也要装weblogic server,而且也要EJB的jar文件,如果是的话,那如何能体现出中间层的概论,以及瘦客户机的思想?...
请问各位:
我在weblogic server上部署了EJB,如果我的EJB和客户端不在同一台机器上,那我的客户端是不是也要装weblogic server,而且也要EJB的jar文件,如果是的话,那如何能体现出中间层的概论,以及瘦客户机的思想??
如果不是,那我需要哪些文件??
谢了,一定给分的!!!
我在weblogic server上部署了EJB,如果我的EJB和客户端不在同一台机器上,那我的客户端是不是也要装weblogic server,而且也要EJB的jar文件,如果是的话,那如何能体现出中间层的概论,以及瘦客户机的思想??
如果不是,那我需要哪些文件??
谢了,一定给分的!!!
|
jsp和Java应用程序访问EJB是一样的,通过JNDI查找。然后根据Container采用的远程协议返回对应Stub,jsp或者Java应用程序通过Stub来和EJB通讯。那么你的客户端需要知道服务器JNDI的实现。通常会需要一个JNDI的客户包。其他?什么javax.ejb,home远程接口之类。
|
private Context getInitialContext() throws NamingException {
try {
// Get an InitialContext
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, url);
return new InitialContext(h);
} catch (NamingException ne) {
log("We were unable to get a connection to the WebLogic server at "+url);
log("Please make sure that the server is running.");
throw ne;
}
}
---
注意:其中的url指明了ejb server所在的地址,所以你大可不必担心. 即使client应用与ejb在同一台机器上,也是通过rmi调用的。
try {
// Get an InitialContext
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, url);
return new InitialContext(h);
} catch (NamingException ne) {
log("We were unable to get a connection to the WebLogic server at "+url);
log("Please make sure that the server is running.");
throw ne;
}
}
---
注意:其中的url指明了ejb server所在的地址,所以你大可不必担心. 即使client应用与ejb在同一台机器上,也是通过rmi调用的。