weblogic的JDNI连接

这两天在学习ejb,且不说ejb如何编写,刚开始就被jndi给难住了。记得以前在Jbuilder中照着别人的方法试过,已经成功了,没有深研。想不到现在来做,又给难住了,搞了两天终于有了结果。

首先说一说客户端通过jndi连接weblogic,不需要把客户端程序放到(或是布署到)weblogic中运行,客户端用一个简单的class文件既可,代码下如。

/*JNDIClientTest.java*/
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;

public class JDNIClientTest {
 public static void main(String[] args) {
  String url = "t3://localhost:7001";
  Properties prop = null;
  try {
   prop = new Properties();
   prop.put(Context.INITIAL_CONTEXT_FACTORY,
     "weblogic.jndi.WLInitialContextFactory");
   prop.put(Context.PROVIDER_URL, url);
   Context context = new InitialContext(prop);
   System.out.println("OK!");
  } catch (Exception e) {
   System.out.println(e.toString());
  }
 }
}

上面包括的包都是jre里的标准包。启动weblogic后,运行该程序。

当然会有问题,显示“javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]” 为什么编译没问题了,却还是出错呢,这是网络上问得最多的问题。这是缺少"/bea/weblogic81/server/lib/wlclient.jar"文件所致。 在buildpath里加入这个包后再运行。

如果还是出错,显示“Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/corba/se/connection/ORBSocketFactory” 还是缺少包,这时如果你只安装有jre1.5.*,那是没有ORBSocketFactory这个类文件的。还是找个jre1.4.*吧,这个类在“jre/lib/rt.jar”包中。据说这个问题在weblogic9中已解决。

这时应该没什么问题了,你可以进一步学习ejb或其它内容了。

上面的t3:是weblogic中jndi用的协议,就和http一样,其它服务器如jboss用iiop之类进行连接,不同的服务器连接的方式不一样,具体要再查资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值