03_Java通信_JNDI_demo2遠程調用weblogic的數據源

demo1中我們簡單實現了一個通過JNDI來獲得person這個對象,但是因爲運行在同一個項目中,表現的形式不是那麼強烈。

下面我們使用遠程的web服務器上的數據源來測試一下。遠程weblogic服務器上定義一個數據源。在本地通過JNDI獲得這個數據源,並且查詢遠程數據源中的數據。

在操作之前先來創建先決條件:

1.查看本地IP,確保weblogic服務器和本地不在一起


 

2.登陸weblogic,定義數據源(具體定義步驟在此就不細講,不會的可以在網上查一下)



 

 

以上是JNDI服務器的設置,簡單說就是在weblogic上面創建數據源。

下面使用JNDI獲得這個數據源。

6.在第一節JNDI概念中說過,Java只提供了JNDI的接口,具體的實現都是不同廠商提供。所以我們勢必要導入weblogic的JNDI的實現。

如何生成weblogic JNDI的實現?

生成與JDK版本對應的weblogicjar,利用cmd 進入到weblogic_home 路徑下進入到server/lib目錄,然後運行  JDK  1.6 命令 " java -jar wljarbuilder.jar" , 會生成wlfullclient.jar :


 我們還有操作數據,所以也要使用JDBC的實現,後臺的數據庫使用的是Oracle,所以在項目中還要導入數據庫的驅動。



 7.我們還是建立普通的Java項目,導入上面創建好的weblogic的jar包和數據庫操作的jar包。

8.開發代碼:

import java.rmi.registry.LocateRegistry;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;


public class Test {
	public static void findPerson() throws Exception{
		
		//配置JNDI工廠和JNDI的url
		System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
		System.setProperty(Context.PROVIDER_URL, "t3://10.1.71.**:7001");
		
		//初始化
		InitialContext ctx = new InitialContext();
		
		//獲取datasoures
		DataSource  ds = (DataSource) ctx.lookup("dataSourceDBaihis");
		
		//授權
		Connection  conn = ds.getConnection("weblogic", "*****");  //登陸weblogic的用戶名、密碼
	    
		//正常操作數據
		Statement stmt=conn.createStatement();
	    String sql="select riskcode,riskname from pd_lmrisk";
	    ResultSet rs=stmt.executeQuery(sql);
	    while (rs.next()){
	        System.out.println("險種編碼:"+rs.getString(1)+" 險種名稱:"+rs.getString(2));
	    }
	}
	public static void main(String[] args) throws Exception {
		
		findPerson();
	}
}

  PS:url和weblogic的用戶名和密碼請自行填寫

9.運行結果:



 
 10.請求示意圖:



 
 

  • 7b243889-f064-3cba-8d44-29fa64cda422-thumb.jpg
  • 大小: 17.4 KB
  • 0d552453-ebc2-38e4-a833-6f5d58ac8410-thumb.jpg
  • 大小: 57.2 KB
  • bcb4c056-710f-3602-ba42-4a48b558e4c9-thumb.jpg
  • 大小: 31.5 KB
  • 8b6b2f5c-539f-313f-9581-7f0911b0bc00-thumb.jpg
  • 大小: 28 KB
  • 1d65486f-0479-3fe5-9768-fdd16d1e4517-thumb.jpg
  • 大小: 40.2 KB
  • 02458de4-6359-390d-8bfa-0eea3bd6fb31-thumb.jpg
  • 大小: 41.3 KB
  • f48a33d0-bf02-31a3-a295-9c3da7fff2f4-thumb.jpg
  • 大小: 53.8 KB
  • 0bb1dfd2-e5a8-3a89-a8ee-836208ef554c-thumb.jpg
  • 大小: 95.1 KB
  • 018c3098-5e52-320d-87e7-0f4d614a8560-thumb.jpg
  • 大小: 67.9 KB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章