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