电竞比分网-中国电竞赛事及体育赛事平台

分享

weblogic的JDNI連接

 不會游泳的魚 2006-06-06
 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用的協(xié)議,就和http一樣,其它服務器如jboss用iiop之類進行連接,不同的服務器連接的方式不一樣,具體要再查資料。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=659958

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多