29 noviembre 2010

Como integrar JDBC-tools sobre un datasource dentro de JBoss AS 5.1

En este post se explica una forma de integrar la herramienta JDBC-tools con el servidor JBoss para el uso de datasource manejados por éste.

El fin de esta integración es poder loguear las ejecuciones realizadas por el datasource, el cuál utiliza la aplicación, sobre el driver de la base.
El ambiente, sobre el cual se ha realizado/comprobado esta configuración, consta de las siguientes herramientas:

  • JBoss Application Server 5.1.0
  • JDBC-tools 1.1.1
  • JDK 1.6 update 17 a 20



Pasos a seguir:



Paso 1.
Conseguir la herramienta JDBC Tools la cual puede descargarse de su sitio http://jdbc-tools.sourceforge.net.


Paso 2.
Dentro del distribuible se encuentran los archivos que se deben incluir en el servidor de la siguiente manera,


Paso 3.
Ubicar las librerías jdbc-tools y jdbc-listener en el directorio del servidor server\\lib.


Paso 4.
Ubicar los archivos de configuración jdbc-tools.properties y jdbc-listener.properties en el directorio server\\conf.


Paso 5.
Modificar el archivo jdbc-listener.properties como se muestra más adelante en el punto jdbc-listener.


Paso 6.
Modificar el archivo jdbc-tools.properties como se muestra en el sub-punto jdbc-tools.


Paso 7.
Modificar la definición del datasource como se ejemplifica en el punto Datasources<./p>

Una vez realizados estos pasos, toda ejecución sobre el driver, a través del datasource en cuestión, se logueará en un archivo de nombre jdbc-logging.log en el directorio bin del servidor. Notar que se realiza un respaldo automático de este archivo, cada vez que se vuelve a iniciar el servidor, en archivo con el mismo nombre a los que se le concatena la fecha y hora.

Aquí debajo se detallas los archivos mencionados en los pasos anterios.


JDBC-listener.properties

En este archivo deben estar definido únicamente las siguientes variables.



jdbc.listener.classes: com.facdatum.jdbc.logger.JDBCLogger
driver.delegate: oracle.jdbc.driver.OracleDriver
datasource.delegate: java:Delegate (sustituir por el nombre del datasource a través del cual se conecta la aplicación)
datasource.props: serverName:localhost,portNumber:1521
jndi.factory: org.jnp.interfaces.NamingContextFactory
jndi.context.url: jnp://localhost:1099


JDBC-tools.properties

En este archivo deben estar definido únicamente las siguientes variables.

jdbc.listener.classes: com.facdatum.jdbc.logger.JDBCLogger
driver.delegate: oracle.jdbc.driver.OracleDriver
datasource.delegate: java:Delegate (sustituir por el nombre del datasource a través del cual se conecta la aplicación)
datasource.props: serverName:localhost,portNumber:1521
jndi.factory: org.jnp.interfaces.NamingContextFactory
jndi.context.url: jnp://localhost:1099
driver.path oracle14.jar
driver.class oracle.jdbc.driver.OracleDriver
driver.url jdbc:oracle:thin:@localhost:1521:XE
driver.user nombre de usuario en la base de datos
driver.password password del usuario en la base de datos
valores por defecto para las variables: jdbc.include, jdbc.exclude, app.include, app.exclude, jdbc.duration.filter.limit, jdbc.duration.filter.change, jdbc.duration.store.filepath, log.levels, log.path, log.filename, call.include, call.exclude y jdbc.planner.repeat.



Datasources
<local-tx-datasource>
<jndi-name><datasource_nombre></jndi-name>
<connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name><db_usuario_nombre></user-name>
<password><db_usuario_pass></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>10</max-pool-size>
<valid-connection-checker-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
</valid-connection-checker-class-name>
<exception-sorter-classname>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-classname>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>

<local-tx-datasource>
<jndi-name><datasource_nombre></jndi-name>
<connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
<driver-class>com.facdatum.jdbc.listener.driver.DataSourceListener</driver-class>
<user-name><db_usuario_nombre></user-name>
<password><db_usuario_pass></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>10</max-pool-size>
<exception-sorter-classname>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-classname>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>


23 noviembre 2010

Error de certificado omega.contacts.msn.com en Pidgin

Para aquellos que usan Pidgin, aquí les dejo un link a la página donde encontré la solución para el error de certificado omega.contacts.msn.com, el cual es causa y consecuencia de que no podamos acceder a nuestras cuentas de mail.live.com o hotmail.com.


Fix Pidgin (MSN) Omega.contacts.msn.com Certificate Errors

A continuación agregaré la traducción para la solución.



[...] Si ud usa Pidgin con MSN, probablemente se habrá topado reiteradas veces con el error de certificado "omega.contacts.msn.com" estos últimos días. Bueno, aquí encontrará el cómo solucionarlo.

1. Descargue éste certificado omega.contacts.msn.com.

2. En Pidgin, vaya al menú Herramientas > Certificados y elimine el certificado "omega.contacs.msn.com" que ahí encuentre. Luego elija "Agregar" y agregue el certificado que descargó en el paso 1 y cuando le pida el nombre de servidor ingrese el siguiente (sin las comillas): "omega.contacts.msn.com"


Pidgin arreglo omega.contacts.msn.com

Ahora de OK y eso es todo!. [...]


Actualización: Si bien la solución funciona sin mayores problemas, sucedía que cada vez que uno iniciaba sesión debía volver a agregar el certificado. Para solucionar esto simplemente deberemos copiar el certificado omega.contacts.msn.com al directorio .purple/certificates/x509/tls_peers, por ej. ejecutando el siguiente comando,

mv omega.contacts.msn.com .purple/certificates/x509/tls_peers


Nro de visita Cantidad de visitas recibidas