当前位置: 首页 > 图文教程 > 服务器 > WebLogic > weblogic的JDNI连接

WebLogic
对常见的WEB服务器和应用服务器的介绍
快速把web项目部署到weblogic上
浅谈Web应用服务器测试
Weblogic整合方法
通过JMX监控管理weblogic的运行
菜鸟经验:oracle与weblogic自动启动与停止
WebLogic10 配置体会
weblogic调优
weblogic与jstl
weblogic启动时不用输用户名和密码的方法
在启动weblogic时,加载mysql包
WebLogic Domain 配置方法
Weblogic中获取Server信息
J2EE基础:Weblogic服务器体系结构介绍
J2EE配置WebLogic-Eclipse插件
Weblogic服务器性能调优
WebLogic简介和几个基本概念
weblogic apache 整合
weblogic的JDNI连接
weblogic下连接处的配置使用

WebLogic 中的 weblogic的JDNI连接


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 275 ::
收藏到网摘: n/a

这两天在学习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之类进行连接,不同的服务器连接的方式不一样,具体要再查资料。