style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Diferencia de conexiones DriverManagerDataSource y BasicDataSource

PRIMER PUNTO.
bueno espero me ayuden ando iniciandome con fuerza en programacion y mas en web, uso como IDE Netbeans y como servidor el glassfish aunque ya use el tomcat pero me gusta conocer mas de glassfiesh la duda radica en que cuando configuro mi applicationContext de spring integrando hibernate lo normal seria utilizar este codigo...

    <bean id="miDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="org.postgresql.Driver"/>
        <property name="url" value="jdbc:postgresql://localhost:5432/ejemplos"/>
        <property name="username" value="postgres"/>
        <property name="password" value="123456"/>
    </bean>

utilizando esta configuracion va normal con tomcat funciona muy bien es mas usaria esta configuracion claro poniendo algunas librerias jar en netbeans 6.8 creo que ya no es necesario pero cuando uso esta misma conexion para glassfish me manda errores. mi duda es si podria configurar algo o alguna libreria o simplemente configurar Glassfish: Pool de conexiones con PostgreSQL desde NetBeans aunque todos usan mysql, pero bueno ya hice esta configuracion...
SEGUNDO PUNTO.
en mi capricho estuve investigando mucho sobre los datasource de spring y el spring-jdbc y el cual hice esto en el siguiente codigo, claro usando oracle

<bean id="dataSource"
                        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <property name="driverClassName">
                        <value>oracle.jdbc.driver.OracleDriver</value>
                </property>
                <property name="url">
                        <value>jdbc:oracle:thin:@//192.168.40.5:1521/cgh</value>
                </property>
                <property name="username">
                        <value>armagedon</value>
                </property>
                <property name="password">
                        <value>apocalipsis</value>
                </property>
        </bean>

Si se dan cuenta la diferencia de datasourse son diferentes: org.apache.commons.dbcp.BasicDataSource" destroy-method="close" y org.springframework.jdbc.datasource.DriverManagerDataSource,, mi pregunta es con la duda del glassfiesh v3 para usar el DriverManagerSource, y seguro me diran que use el org.apache.commons.dbcp.BasicDataSource" destroy-method="close",, porque en la documentacion de DataSource se DriverManager o foreando por ahi se dice que DriverManagerDataSource ase que Spring abre y cierra conexion por cada acceso!!!..y otros dicen que no deberia usar el org.springframework.jdbc.datasource.DriverManagerDataSource....
TERCER PUNTO.
encontre algunas razones para no usar el DriverManagerDataSource aunque aun no me convence.. al grano como haria hacer funcionar ambas opciones en glassfiesh porque eh tenido errores con mi base de datos al conectar, claro que uso postgres aunque aveces oracle.....

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Pools

Imagen de hendaviher

destroy-method sin utilizar bean

hola primero que todo agradecer por compartir los conocimientos, segundo es que estoy utilizando BasicDataSource pero no estoy utilizando spring para configurar mi datasource utilizo la configuracion que muestran en la pagina de apache commons:

http://wiki.apache.org/commons/DBCP

el problema es que en la consola de eclipse me aparece el mensaje:

18/05/2012 01:48:58 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
GRAVE: The web application [/AppP] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

yo me imagino que es porque no tiene configurado algun metodo para cerrar la conexion, como lo tiene configurado el bean cuando utiliza destroy-method="close"...

por favor si alguien tiene idea de como resolver esto le agradecia

Re: diferencia

 

¿Diferencia?

  • org.apache.commons.dbcp.BasicDataSource es un pool de conexiones.

  • org.springframework.jdbc.datasource.DriverManagerDataSource no es un pool de conexiones. Nunca lo uses en un entorno productivo.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">