rmi的lookup和jndi的lookup的困惑!!!

hzhstar 2003-10-21 12:41:47
困惑1:

对于主机为211.34.59.6的服务hello的引用:
rmi: Naming.lookup("rmi://211.34.59.6:80/hello");
(非常明白)
jndi: Naming.lookup("hello");
(太奇怪了,对了客户机怎么知道服务机的位置在哪?连IP都没指明?????)

2, rmi和ejb有质的区别吗???

以前用jb_weblogic开发,
今天我用jdk+weblogic一步一步自己写,知道了详细过程!
突然发现: ejb和rmi几乎是一模一样,
一样是用远程接口实现了一个服务,然后部属到weblogic?

谁能告诉我它们的区别到底在哪里?????????????///
...全文
362 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
houyongzhong 2003-10-23
  • 打赏
  • 举报
回复
当然,这样做跟RMI的调用没太大的区别了,把服务位置写死在了代码中----但这跟ejb 号称的服务透明原则相背,而且上面的代码不可能用在cluster中实现load balance,所以另一种做法是把服务器ip写在jndi.properties中放到classpath下,这样做可能在部署期指定服务,移植性很好.


lzl123(潜龙) 兄弟,我按照你的方法,将jndi.properties放在classpath下,但是就是的不到里面的信息啊,能否给小弟发一个使用例子,感激不尽!!!
hzhstar 2003-10-21
  • 打赏
  • 举报
回复
lzl123(潜龙) 大哥:
你帮我看一下那篇文章,已发!
lzl123 2003-10-21
  • 打赏
  • 举报
回复
liuzhenlong@baosight.com
我最近经常泡在csdn上,有问题我也可以看得到:)
hzhstar 2003-10-21
  • 打赏
  • 举报
回复
太感谢lzl123(潜龙)大哥了,
你为我解开了困惑!

因为我最近要把一个原来用java rmi的分布式程序改作用ejb实现,
对一些两者区分要比较清醒认识!

我还有些问题需要请教你,
能否留一下您的email?
raymondcen 2003-10-21
  • 打赏
  • 举报
回复
同意楼上的
jndi可以通过context指定服务器地址
lzl123 2003-10-21
  • 打赏
  • 举报
回复
一点粗浅的认识,与 hzhstar (云) 兄探讨:
1.虽然EJB在Naming.lookup("hello")的时候没有指定服务器IP,但在构造Naming对象的时候是要指定的,通常像下面这样:
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://211.34.59.6:7001");
Context Naming = new InitialContext(properties);
当然,这样做跟RMI的调用没太大的区别了,把服务位置写死在了代码中----但这跟ejb 号称的服务透明原则相背,而且上面的代码不可能用在cluster中实现load balance,所以另一种做法是把服务器ip写在jndi.properties中放到classpath下,这样做可能在部署期指定服务,移植性很好.

2.EJB是基于RMI-IIOP的,而RMI-IIOP实现了RMI的一个子集而已.如果你注意过,应该知道EJB的Remote和home接口都间接继承自java.rmi.Remote,这使的ejb得意借用RMI的分布式特性.要说EJB跟RMI的区别,我觉得可以用一句话说:EJB spec要求把服务定位,分布式事务等底层操作都放到应用服务器中实现了,可以让开发人员避开底层的实现细节,专注与business logic的开发.
lzl123 2003-10-21
  • 打赏
  • 举报
回复
我已经回了,希望有帮助
hzhstar 2003-10-21
  • 打赏
  • 举报
回复
我发到你信箱了,有空能不能帮我看一下,

不胜感激!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧