Skip to main content

Configuring Multi Data Source in Weblogic (Load-Balancing between Data Sources)

We can Create a Multi data Source in Weblogic which can perform Load balancing/ Fail-over among multiple generic Data sources. The Applications deployed on Weblogic will point to this Multi data Source and This Multidata source will do the load balancing/ fail-over internally.

Below are the steps to create a Multi data source:


  • Login to the weblogic console and click services. Click on Data Sources and create a new generic data source.


  • Provide all the connection details and test the connection with Database.


  • After this create another generic Data source. MultiData Source will do a load balancing between these 2 data sources. 
  • After both the data sources are created. Click on Services--> Data Sources. Create a new Multi Data Source.
  • Provide the name of the Multi data source, JNDI name of the Data Source and select either load balancing or Fail-Over from Algorithm type. 


  • Select the server where Multidata source will be deployed (Server where application would be running).

  • Select the type of driver.

  • Add all the generic data sources to Multi data source. click Finish.
  • Now Multidata source is created and can be used by applications to connect.
  • Below is a sample java code through which we can connect to Multi data source which internally will connect to any of generic data source.


Context ctx = null;


      Hashtable ht = new Hashtable();
      ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
      ht.put(Context.PROVIDER_URL,"t3://<Weblogic_host>:<port>");
       Connection conn = null;
        ctx = new InitialContext(ht);
        javax.sql.DataSource ds 
          = (javax.sql.DataSource) ctx.lookup ("JDBC Multi Data Source-0"); //Name of Multi data source
        conn = ds.getConnection();
return conn;










Comments

Popular posts from this blog

OIM Tuning

Application Module tuning is a critical setting which will affect the UI performance. Following are the recommended application module settings for OIM and these are already set out-of-box (OOB) in later releases of OIM 11g R2. Ensure that these settings are implemented as recommended in your environment. -Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -Djbo.recyclethreshold=60 - Djbo.ampool.timetolive=-1 -Djbo.load.components.lazily=true - Djbo.doconnectionpooling=true -Djbo.txn.disconnect_level=1 - Djbo.connectfailover=false -Djbo.max.cursors=5 - Doracle.jdbc.implicitStatementCacheSize=5 - Doracle.jdbc.maxCachedBufferSize=19 open DOMAIN_HOME/bin/setDomainEnv.sh file for the WebLogic Server instance.find these lines: JAVA_OPTIONS="${JAVA_OPTIONS}" export JAVA_OPTIONS and change it to: JAVA_OPTIONS="-Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -D...

Oracle Traffic Director (OTD) configuration

Download the OTD software and install it on a server by running runInstaller command from <Binaries>/Disk1. Preferred is to configure the OTD as root user because when the administration server is configured as root, then Oracle Traffic Director starts the keepalived daemon automatically when you start instances that are part of a failover group, and stops the daemon when you stop the instances. Set Oracle_Home as the new Installed OTD Home. Run below command to configure the Admin server: <OTD_HOME>/otd/bin/tadm configure-server --port=8989 --user=admin --server-user=root --instance- home= <OTD_HOME> /otd/instance_name/otd_instance1 This command will ask for admin password and will create the admin server. Run Below command to start the admin server: <OTD_HOME> /otd/instance_name/otd_instance1/admin-server/bin/startserv Login to the OTD console on http://<host>:8989 as admin user.  Click New configuration: Click Next and create ne...

Creating Role through OIM API - 11gR2

package com.oim.utilities; import java.util.HashMap; import oracle.iam.identity.rolemgmt.api.RoleManager; import oracle.iam.identity.rolemgmt.api.RoleManagerConstants; import oracle.iam.identity.rolemgmt.vo.Role; import oracle.iam.platform.OIMClient; public class RoleManagement  { static RoleManager roleManager=null; static OIMClient client=null; @SuppressWarnings("null") public static void createRole(String roleName){ System.out.println("RoleManagement :: createRole :: role name is "+roleName); try  { if (roleName!=null) { HashMap<String, Object> mapAttrs = new HashMap<String, Object>();; mapAttrs.put(RoleManagerConstants.ROLE_NAME, roleName); mapAttrs.put(RoleManagerConstants.ROLE_DISPLAY_NAME,roleName); mapAttrs.put(RoleManagerConstants.ROLE_DESCRIPTION, roleName); Role role = new Role(mapAttrs); // Initialising the OIM Connection client=ClientOIM.initialise(); System.out.println("RoleManagemen...