EJB 概念问题:
由于我对Rmi的工作方式不是很清楚,因此在理解EJB Home 接口的时候有点不清楚,请热心的朋友指点:一般来说,EJB 组件有组件本身、Home接口、Remote接口几部分组成。客户端的调用方式类似如下代码 1. InitialContext ic = new InitialContext();
2. Object objRef = ic.lookup("java:comp/env/ejb/TheConverter");
3. ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objRef, ConverterHome.class);
4. converter = home.create();我不太明白的是第三句,ConverterHome这个接口的class文件位于客户端吗?与客户端位于同一个jvm中吗?或者说必须在客户端的class中?
如果是,那么我想知道,把ConverterHome.class 文件放置于客户端机器上的这一步骤,是在什么时候做的。是所谓“部署”的时候吗?我能理解,ejb 使用jndi的方式使得组件的位置透明,当组件位置变化的时候,ejb组件的代码并不需要重写。可是如果我有N台Application server.是不是每一台上我都需要部署ConverterHome ? 这样,所谓位置的透明是不是有些折扣?
由于我对Rmi的工作方式不是很清楚,因此在理解EJB Home 接口的时候有点不清楚,请热心的朋友指点:一般来说,EJB 组件有组件本身、Home接口、Remote接口几部分组成。客户端的调用方式类似如下代码 1. InitialContext ic = new InitialContext();
2. Object objRef = ic.lookup("java:comp/env/ejb/TheConverter");
3. ConverterHome home = (ConverterHome)PortableRemoteObject.narrow(objRef, ConverterHome.class);
4. converter = home.create();我不太明白的是第三句,ConverterHome这个接口的class文件位于客户端吗?与客户端位于同一个jvm中吗?或者说必须在客户端的class中?
如果是,那么我想知道,把ConverterHome.class 文件放置于客户端机器上的这一步骤,是在什么时候做的。是所谓“部署”的时候吗?我能理解,ejb 使用jndi的方式使得组件的位置透明,当组件位置变化的时候,ejb组件的代码并不需要重写。可是如果我有N台Application server.是不是每一台上我都需要部署ConverterHome ? 这样,所谓位置的透明是不是有些折扣?
解决方案 »
- 求教关于java调用webservice的问题
- struts2.2+spring 2.5+hibernate3 Exception!
- for 循环里,重复构造同一对象多次的性能问题。
- spring中无法ref其他文件中的bean
- 关于tomcat 6.0 web.xml
- STRUTS form 页面 的问题
- [在线求助]关于Socket的一个奇怪而简单的问题
- 请教高手:struts实例出现错误“Cannot find ActionMappings or ActionFormBeans collection”
- tomcat的端口错误问题
- 招聘
- 请问有关struts中标签的问题?
- 关于Entity Bean 的疑惑。
第3句只是一个类似类型转换的一步
ConverterHome.class是在客户端的,这样代码里才能使用啊,客户通过她来生成了一个ejb实例,
如果n台协同工作的话,实际上在客户端看来是一台,ejb只需部署一次,当然多台协同工作是要配制的