0
我有針對性地集羣與兩個WebLogic託管服務器數據源,即239.112.112.47:8001和239.112.112.48:9001Weblogic的數據源問題
數據源有設置爲15
連接池deafult最大容量因此,我預計總共有15 * 2 = 30個連接。
但是,我的客戶端代碼在單個服務器(239.112.112.47:8001)上只能獲得15個連接,而在我的羣集的兩臺服務器上只能獲得15個連接。
下面是我的代碼:
public static void main(String ar[])throws Exception
{
InitialContext ic=null;
try{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, 239.112.112.47:8001);
ic = new InitialContext(env);
}
catch(Exception e){
System.out.println("\n\n\t Unable To Get The InitialContext => "+e);
}
Connection con[]=new Connection[100];
try{
for(int i=0;i<100;i++)
{
DataSource ds=(DataSource)ic.lookup("MyDS"); //Enter your DataSource or MultidataSource JNDI name Here
con[i]=ds.getConnection();
System.out.println("\n\n\t GOT CONNECTION con["+i+"]: "+con[i]);
Thread.sleep(1000);
}
您的意思是說,您的所有客戶端請求都通過相同的受管服務器?在這種情況下,15個連接的最大數量對我來說似乎可以,您的問題不在於數據源,而是在集羣設置中。是的,您的假設是正確的,默認的最大容量是應用於羣集中每臺服務器的設置。 – Viccari
是的,所有的客戶端請求都會轉到單個服務器,即239.112.112.47:8001。我如何獲得30個JDBC連接?我已經設置了所有默認設置的集羣,即我沒有做任何明確的更改。 – shifahim
你需要弄清楚爲什麼你的請求被重定向到一臺服務器。一旦你能夠平衡他們到兩個託管服務器,你的連接數量可能會達到每個服務器15。您的數據源設置似乎沒問題。在我看來,你的問題與平衡處理客戶端請求(在集羣上)而不是數據源本身有關。 – Viccari