Antes vimos – in extenso – cómo configurar un datasource de postgre en JBoss 7 >>. En este caso haremos lo mismo para una base de datos Microsoft SQL Server.

Al igual que antes >>>, se trata de instalar primero el driver MSSQL y luego definir el datasource en nuestro contenedor.

driver

El último driver a la fecha se llama jtds-1.2.6.jar >>

Como no sigue al pie de la letra JDBC 4, tendremos que instalarlo como módulo en JBoss 7 (aunque al parecer es hackeable para ser deployado también >>, esta alternativa me parece más limpia).

Para ésto, hay que crear el directorio $JBOSS_7/modules/net/sourceforge/jtds/main y dentro hay que dejar el jar y un archivo module.xml que rece así

<module xmlns="urn:jboss:module:1.0" name="net.sourceforge.jtds">
<resources>
<resource-root path="jtds-1.2.6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>

donde lo importante es el name que referenciaremos luego…

datasource

En seguida, definimos el datasource en $JBOSS_7/standalone/configuration/standalone.xml (o domain.xml para clusters, etc.).
Va en el subsystem datasources y tiene que quedar más o menos así

<datasource jndi-name="java:jboss/datasources/miDS" pool-name="miDS" enabled="true" use-ccm="false">
<connection-url>jdbc:jtds:sqlserver://maquina:1533/base_datos;loginTimeout=30</connection-url>
<driver>JTDS</driver><!--ojo-->
<new-connection-sql>select 1</new-connection-sql>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
</pool>
<security>
<user-name>*****</user-name>
<password>*****</password>
</security>
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
</validation>
<timeout>
<set-tx-query-timeout>true</set-tx-query-timeout>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>15</idle-timeout-minutes>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

(créditos >>)

Como vemos, estamos haciendo referencia a un driver llamado JTDS, el cual definimos justo debajo de todos los <datasource> dentro del mismo tag <datasources>

<!-- ... -->
<datasource>
<drivers>
<driver name="JTDS" module="net.sourceforge.jtds">
<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
</driver>
</drivers>
</datasources>

es aquí donde, a través de la propiedad module, estamos haciendo referencia al name del módulo que creamos más arriba.
Además hay que especificarle cuál es la clase dentro de éste que implementa java.jdbc.Driver.

persistence.xml

Con ésto ya podemos referenciar el ds desde el archivo persistence.xml de nuestra app JPA 2

<persistence-unit name="uplannerDB">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jboss/datasources/miDS</jta-data-source>
<properties>
<!--  ojo que esta propiedad no funciona -->
<!--<property name="hibernate.hbm2ddl.auto" value="validate" />  crea automagicamente las tablas (con update) -->
<property name="hibernate.show_sql" value="true" /> <!-- desarrollo: ver queries -->
<property name="hibernate.format_sql" value="false" /> <!-- pretty print, asociado al anterior -->
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/>
</properties>
</persistence-unit>

 

 

Este sitio utiliza cookies.    Leer más