应用程序客户端访问服务器端JNDI时的问题

  最近,在利用应用程序客户端访问服务器端JNDI服务时,发现了一个有趣的现象:客户端与服务端在同一台机器上时程序顺利执行,但不在同一台机器上时会报JNDI查询错误。

  所报错误信息中的关键字主要有“org.omg.CORBA.TRANSIENT”,“Connection refused”,"connect:host=localhost",“port=****”,“minor code:4942F301”,这个错误让我抓狂了好几天,仔细查看源代码也没有什么错误,防火墙全关了也不行,在网上搜索了半天也没有什么结果(有同样的问题,但没有结果),最后在IBM的网站上看到了一篇关于此类错误的文章,心里一下豁然开朗。

  原来,默认的websphere服务器端口设置中,BOOTSTRAP_ADDRESS的主机被设为了“localhost”。这样,当客户端与服务器端交互的时候,服务器端传给客户端的服务器主机名为“localhost”,客户端利用此主机名“localhost”来与服务器交互时,实际上是给自己所在的主机(localhost)发送信息,这当然就会失败了。

  所以,只需要将BOOTSTRAP_ADDRESS中的主机设为服务器的IP,或者服务器的DNS主机名(不能是一般的主机名)即可。

  同样的道理,如果服务器使用的是WSAD中的测试服务器,只需要在服务器配置端口页中,设置正确的主机名就可以了。

  呵,终于给搞定了…………,这样自己的测试服务器就不用开了,直接连到别的服务器上就OK了,自己的机器快的不少哇,本来IBM的东西就比较耗内存,公司又比较扣门,只给1G的内存,开个测试服务器就卡的要命,还怎么写程序…………

  写个Blog祝贺一下~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值