segunda-feira, 18 de junho de 2007

Tomcat 5.0.28 + Oracle: como configurar um datasource

hoje levei um baile até lembrar como configurar um datasource para o tomcat, bom caso alguem esteja passando por alguma dificuldade com esse mesmo tema isso pode ser util:

bom para resolver esse probleminha rapidamente faça o seguinte:

- no diretório /META-INF do teu projeto crie o arquivo: context.xml e nele
insira a configuração do datasource como o exemplo abaixo:

<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/myoracle">
   <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter>
   <parameter>
      <name>driverClassName</name>
      <value>oracle.jdbc.driver.OracleDriver</value>
   </parameter>
   <parameter>
      <name>url</name>
      <value>jdbc:oracle:thin:myschema@127.0.0.1:1521:mysid</value>
   </parameter>
   <parameter>
      <name>username</name>
      <value>scott</value>
   </parameter>
   <parameter>
      <name>password</name>
      <value>tiger</value>
   </parameter>
   <parameter>
      <name>maxActive</name>
      <value>20</value>
   </parameter>
   <parameter>
      <name>maxIdle</name>
      <value>10</value>
   </parameter>
   <parameter>
      <name>maxWait</name>
      <value>-1</value>
   </parameter>
</ResourceParams>


Obs.: note a estrutura do código acima... ( esse foi o porém que consumiu um bom tempo até prestar atenção... )

- no web.xml insira o um código similar a este:

<resource-ref>
   <description>Oracle Datasource example</description>
   <res-ref-name>jdbc/myoracle</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>


PS.: coloque os .jar do oracle no ${TOMCAT}/common/lib, para efetivamente funcionar o datasource...

mais informações veja o [link:JNDI Datasource HOW-TO]