Estoy configurando un clúster de conmutación por error en MySQL, en una arquitectura maestro/esclavo. También estoy configurando mi JBoss Datasource, y estoy buscando la mejor manera de probar mi conexión, sabiendo que es para Alfresco (que está usando Ibatis).Prueba de validez de conexión MySQL en el origen de datos: ¿SELECCIONAR 1 o algo mejor?
Incluso en las prácticas de MySQL muchas veces, no conozco muy bien los mecanismos internos de ejecución en MySQL Server.
Hasta el momento, estoy usando esta consulta para probar mi conexión SQL (como en este hilo: Database Fail Over in Jboss Data sources)
SELECT 1;
Aquí la fuente de datos completa.
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>alfresco-datasource</jndi-name>
<connection-url>
jdbc:mysql://10.1.2.13,10.1.2.14:3306/alfresco
</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>alfresco</user-name>
<password>alfresco</password>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
</exception-sorter-class-name>
<connection-property name="readOnly">false</connection-property>
<failOverReadOnly>false</failOverReadOnly>
<!-- Automatic reconnecion - desactivated to preserve transactions -->
<!-- http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html :
Failover happens when the driver determines that the connection has failed (checked before every query), and falls back to the first host when it determines that the host has become available again (after queriesBeforeRetryMaster queries have been issued). -->
<!--<autoReconnect>true</autoReconnect>-->
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<valid-connection-checker-class-name>
org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker
</valid-connection-checker-class-name>
<!-- If you're using Connector/J 3.1.8 or newer, you can use our implementation
of these to increase the robustness "mysql-ds.xml" 64L, 3683C of the connection
pool. -->
<exception-sorter-class-name>
com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
</exception-sorter-class-name>
<valid-connection-checker-class-name>
com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
</valid-connection-checker-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
que tienen múltiples pregunta que no soy capaz de responder por mí mismo:
- ¿No será esta consulta sencilla tener una caché mediante Ibatis (o cualquier tipo o ORM)? Esto significaría que podría devolverme resultados falsos.
- ¿No sería demasiado simple esa consulta? ¿Realmente está tratando de ejecutar mecanismos internos que serían representativos de la salud del servidor? ¿O probará solo la conexión?
- ¿Es realmente una prueba confiable?
- ¿Hay algún otro tipo de prueba (ya integrada con Connector/J, por ejemplo)?
- rendimiento también es importante para mí, así es seleccionar la ruta 1 es un buen compromiso entre la facturación salud y el rendimiento
No dude en señalar algunos enlaces (dentro Stackoverflow o no). Si esta pregunta ya se ha respondido (parece que no, por lo que busqué), obviamente borraré este hilo.
Agradecería mucho las devoluciones de los desarrolladores o administradores de mysql. Estoy buscando la mejor manera de hacerlo.
Gracias por su ayuda.
¡Genial! ¡Es exactamente el tipo de consejos que estaba buscando! –
eres hombre de bienvenida, espero que va a encajar con su configuración JDBC. – Sebas
Voy a tratar lo antes posible. Il cayó, esta será LA respuesta;). Muchas gracias. –