This discussion is archived
5 Replies Latest reply: Dec 17, 2012 10:49 PM by MohtashimShaikh RSS

Datasource does not direct the client to the cluster.

MohtashimShaikh Newbie
Currently Being Moderated
I have a datasource targeted to a cluster with two weblogic managed servers i.e 219.112.112.47:8001 and 219.112.112.48:9001

The cluster is configured with default settings.

The datasource has deafult max capacity for the connection pool set to 15.

Thus, I am expection a total of 15*2=30 connections.

However, my client code gets only 15 connections that too on a single server(219.112.112.47:8001) and not on both servers of my cluster.

Below is my code:

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, 219.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=ds.getConnection();
System.out.println("\n\n\t GOT CONNECTION con["+i+"]: "+con[i]);
Thread.sleep(1000);
}

Edited by: Mohtashim Shaikh on Dec 13, 2012 9:07 PM

Edited by: Mohtashim Shaikh on Dec 13, 2012 9:07 PM
  • 1. Re: Datasource does not direct the client to the cluster.
    Jeets Journeyer
    Currently Being Moderated
    As the initial context is pointing to only one server, client is getting 15 connections.
    This needs, to targeted to both.

    env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
    env.put(Context.PROVIDER_URL, 219.112.112.47:8001);

    Can you quickly try to change the PROVIDER_URL to env.put(Context.PROVIDER_URL, 219.112.112.47:8001, 219.112.112.48:9001); ?

    Hope this helps.

    Jeets.
  • 2. Re: Datasource does not direct the client to the cluster.
    MohtashimShaikh Newbie
    Currently Being Moderated
    As suggested i tried

    env.put(Context.PROVIDER_URL,"t3://219.112.112.47:8001,219.112.112.48:9001");

    and

    env.put(Context.PROVIDER_URL,"http://219.112.112.47:8001,219.112.112.48:9001");

    However, I still get 15 connections only.

    Observation: The 15 connections are being establish on any one of the two servers in a round robin fashion each time I run my client code i.e in the first run 15 connection on "219.112.112.47:8001" in the second run 15 connections on "219.112.112.48:9001" and the third time it goes back to "219.112.112.47:8001"

    WebLogic Server 10.3.6.0 Tue Nov 15 08:52:36 PST 2011 1441050

    Java Version: 1.6.0_29

    Please help fix !!

    Edited by: Mohtashim Shaikh on Dec 13, 2012 11:32 PM

    Edited by: Mohtashim Shaikh on Dec 13, 2012 11:37 PM
  • 3. Re: Datasource does not direct the client to the cluster.
    Jeets Journeyer
    Currently Being Moderated
    In such case use the cluster address and port, and see if its working as desired.
  • 4. Re: Datasource does not direct the client to the cluster.
    MohtashimShaikh Newbie
    Currently Being Moderated
    Can you help me understand what exactly to feed-in the Cluster Address and port and would that require any changes in the client code?

    Sorry for being Naive but wish to be sure.
  • 5. Re: Datasource does not direct the client to the cluster.
    MohtashimShaikh Newbie
    Currently Being Moderated
    I gave "219.112.112.47:8001,219.112.112.48:9001" entries in my cluster address keeping the client code same i.e.
    env.put(Context.PROVIDER_URL,"t3://219.112.112.47:8001,219.112.112.48:9001")
    and then restarted both the servers in the cluster.

    I am still getting only 15 connection and now when I run the client code each time all the 15 connections are generated only on one of the two servers consistantly which was not the case when I had not specified the cluster address.

    I have still made no progress in finding a solution. Kindly help.

    Edited by: Mohtashim Shaikh on Dec 14, 2012 3:20 AM

    Edited by: Mohtashim Shaikh on Dec 17, 2012 10:48 PM

    Edited by: Mohtashim Shaikh on Dec 17, 2012 10:49 PM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points