0 Replies Latest reply on Jan 20, 2006 7:46 AM by chaitanya

    how to connect different datasources using environment namin

    chaitanya Novice

      how to connect different datasources using environment naming context(ENC) from session bean in jboss?

      oracle-ds.xml
      **************
      <?xml version="1.0" encoding="UTF-8"?>



      <local-tx-datasource>
      <jndi-name>oraclePool</jndi-name>
      <connection-url>jdbc:oracle:thin:@**.**.**.*:portno:***</connection-url>
      <driver-class>drivername</driver-class>
      <user-name>xyz</user-name>
      xy
      </local-tx-datasource>


      <local-tx-datasource>
      <jndi-name>reportPool</jndi-name>
      <connection-url>jdbc:oracle:thin:@***.**.**.**:portno:**</connection-url>
      <driver-class>drivername</driver-class>
      <user-name>abc</user-name>
      ab
      </local-tx-datasource>




      ejb-jar.xml
      ***************
      <ejb-jar>

      No Description
      <display-name>EmpSessionBean</display-name>
      <ejb-name>EmpSessionBean</ejb-name>
      com.blah.blah.EmpSessionBeanHome
      com.blah.blah.EmpSession
      <ejb-class>com.blah.blah.EmpSessionBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>

      ************** noramally we write res-ref-name for every beans but in this case if i connect multiple datasource which res-ref-name should i write Is it jdbc/DB or jdbc/reportDB ****************
      <resource-ref>
      No Description
      <res-ref-name>jdbc/DB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
      </resource-ref>


      </ejb-jar>

      jboss.xml
      *************



      <ejb-name>EmpSessionBean</ejb-name>
      <jndi-name>EmpSessionBean</jndi-name>

      ************** noramally we write res-ref-name for every beans but in this case if i connect multiple datasource which res-ref-name should i write, Is it jdbc/DB or jdbc/reportDB ****************

      <res-ref-name>jdbc/DB</res-ref-name>
      <resource-name>oraclePool</resource-name>

      <resource-managers>
      <resource-manager res-class="">
      <res-name>jdbc/reportDB</res-name>
      <res-jndi-name>java:/reportPool</res-jndi-name>
      </resource-manager>

      <resource-manager res-class="">
      <res-name>jdbc/DB</res-name>
      <res-jndi-name>java:/oraclePool</res-jndi-name>
      </resource-manager>
      </resource-managers>



      from session bean i am trying to look up multiple datasources like this

      dataSource = (DataSource)ictx.lookup("java:comp/env/jdbc/DB");--------------- xyz user should be connected
      Connection con= dataSource.getConnection();

      dataSource = (DataSource)ictx.lookup("java:comp/env/jdbc/reportDB");--------------- abc user should be connected
      Connection con= dataSource.getConnection();