Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Como cambiar a Base de Datos

Servidor sin interfaz gráfica

  1. Bajar o asegurarse que el JBoss este bajo.
  2. Renombrar datasource <o3>/jboss/standalone/deployments/O3Server-ds.xml como #O3Server-ds.xml
  3. Definir nuevo datasource O3Server-ds.xml con la configuración de la nueva base en <o3>/jboss/standalone/deployments/
  4. Crear el archivo O3Server_custom.properties en la raíz de la instalación y agregar la property: o3.config.dataBase=true (A partir de versiones 6.X.X no se realiza este paso)
  5. Levantar O3 Server desde el JBoss.bat o jboss.sh y ver que levanta sin excepciones. 

Servidor con interfaz gráfica

Para las bases testeadas desde la aplicación admserver(.exe/.bat/.sh) es posible usar un wizard que se encarga de este proceso.

...

  1. Copiar el driver de mysql en <o3>/classes/jdbc/
  2. Crear un archivo de nombre module.xml en <o3>/jboss/modules/com/mysql/main con el siguiente contenido:

    Code Block
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!--
     ~ JBoss, Home of Professional Open Source.
     ~ Copyright 2010, Red Hat, Inc., and individual contributors
     ~ as indicated by the @author tags. See the copyright.txt file in the
     ~ distribution for a full listing of individual contributors.
     ~
     ~ This is free software; you can redistribute it and/or modify it
     ~ under the terms of the GNU Lesser General Public License as
     ~ published by the Free Software Foundation; either version 2.1 of
     ~ the License, or (at your option) any later version.
     ~
     ~ This software is distributed in the hope that it will be useful,
     ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
     ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     ~ Lesser General Public License for more details.
     ~
     ~ You should have received a copy of the GNU Lesser General Public
     ~ License along with this software; if not, write to the Free
     ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
     ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
     -->
     
    <module xmlns="urn:jboss:module:1.0" name="com.mysql">
     <resources>
     <resource-root path="mysql-connector-java-5.1.22-bin.jar"/>
     </resources>
     <dependencies>
     <module name="javax.api"/>
     </dependencies>
    </module>
  3. Crear directorios /mysql/main en <o3>/jboss/modules/com/
  4. Agregar el driver de mysql (.jar) en <o3>/jboss/modules/com/mysql/main con el nombre igual al declarado en

    <resource-root path="mysql-connector-java-5.1.22-bin.jar"/>

  5. Editar el archivo <o3>/jboss/standalone/configuration/o3bi.xml, buscar la sección <drivers> y agregarle:

    Code Block
    <driver name="mysql" module="com.mysql">
        <xa-datasource-class>
            com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
        </xa-datasource-class>
    </driver>


    (warning) Atención: En el caso de utilizar un driver de versión mayor a 5.1.30 también se deberá indicar la <driver-class> :

    Code Block
    <driver name="mysql" module="com.mysql">
        <xa-datasource-class>
            com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
        </xa-datasource-class>
    	<driver-class>com.mysql.jdbc.Driver</driver-class>
    </driver>
  6. Realizar el procedimiento de cambio de base de datos arriba enumerado.

 

 

Anchor
db2
db2
Para el caso de DB2 

Por temas de licenciamiento no se suministra el driver, por lo cual el usuario deberá ser suminstrado por el administrador de base de datos, el cual dispondra de de los archivos necesarios(generalmente un .jar con el driver y otro .jar conteniendo la licencia).

Los drivers de db2 hasta la versión 6.3.6 de O3 inclusive no se pueden poner en el deploy para que JBoss se encargue de configurarse automáticamente por lo cual hay que realizar un procedimiento manual.

Warning

Atención: es conveniente tener la última versión del driver ya que este contiene códigos para funcionar con JBoss 7

Antes de realizar el procedimiento anteriormente descrito hacer los siguiente paso:

  1. Copiar los drivers de db2 en <o3>/classes/jdbc/(db2jcc.jardb2jcc_license_cu.jar(red star)Estos drivers son a modo de ejemplo, los drivers deben ser proporcionados por el adm. de base de datos de la empresa.(red star)
  2. Crear un archivo de nombre module.xml en <o3>/jboss/modules/com/ibm/db2/main con el siguiente contenido(crear directorios: ibm/db2/main):

    Code Block
    languagehtml/xml
    titlemodule.xml
    linenumberstrue
    <?xml version="1.0" encoding="UTF-8"?>
      <module xmlns="urn:jboss:module:1.1" name="com.ibm.db2">
          <resources>
            <resource-root path="db2jcc.jar"/>
            <resource-root path="db2jcc_license_cu.jar"/>
        </resources>
        <dependencies>
            <module name="javax.api"/>
            <module name="javax.transaction.api"/>
            <module name="sun.jdk"/>
        </dependencies>
      </module>
  3. En el directorio <o3>/jboss/modules/com/ibm/db2/main/ creado anteriormente
    Agregar los drivers de db2 (.jar) en <o3>/jboss/modules/com/ibm/db2/main con el nombre igual al declarado en
    <resource-root path="db2jcc.jar"/> y <resource-root path="db2jcc_license_cu.jar"/> 
  4. Copiar los archivos db2jcc.jar.index y db2jcc_license.jar.index a la carpeta anteriormente mencionada
  5. Editar el archivo <o3>/jboss/standalone/configuration/o3bi.xml, buscar la sección <drivers> y agregarle:

    Code Block
    titleo3bi.xml
    <driver name="db2" module="com.ibm.db2">
    	<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
    </driver>
  6. Ir al Archivo O3AdmServer.properties ubicado en la raiz de O3, editarlo y configurar el nuevo motor de base de datos de la siguiente forma:
    ubicar: # Other driver y antes de este codigo agregar lo siguiente reemplazando:

    Code Block
    titleO3AdmServer.properties
    engine.6            = DB2
    engineid.6          = DB2
    driver.6            = com.ibm.db2.jcc.DB2Driver
    url.6               = jdbc:db2://host:50000/DATABASE
    jbossPrefix.4       = db2
    jbossDirver.4       = db2
    
    # Other driver
    engine.7           = Other
    driver.7           = 
    url.7              = jdbc:
  7. Realizar el procedimiento de cambio de base de datos arriba enumerado.

 

Anchor
oracle
oracle
Para el caso de Oracle
 

...

  1. Copiar el driver de mysql en <o3>/classes/jdbc/
  2. Crear un archivo de nombre module.xml en <o3>/jboss/modules/com/oracle/ojdbc6/main con el siguiente contenido:

    Code Block
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!--
     ~ JBoss, Home of Professional Open Source.
     ~ Copyright 2010, Red Hat, Inc., and individual contributors
     ~ as indicated by the @author tags. See the copyright.txt file in the
     ~ distribution for a full listing of individual contributors.
     ~
     ~ This is free software; you can redistribute it and/or modify it
     ~ under the terms of the GNU Lesser General Public License as
     ~ published by the Free Software Foundation; either version 2.1 of
     ~ the License, or (at your option) any later version.
     ~
     ~ This software is distributed in the hope that it will be useful,
     ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
     ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     ~ Lesser General Public License for more details.
     ~
     ~ You should have received a copy of the GNU Lesser General Public
     ~ License along with this software; if not, write to the Free
     ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
     ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
     -->
     
    <module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc6">
      <resources>
        <resource-root path="ojdbc6.jar"/>
      </resources>
      <dependencies>
        <module name="javax.api"/>
      </dependencies>
    </module>
  3. Crear directorios /oracle/ojdbc6/main en <o3>/jboss/modules/com/
  4. Agregar el driver de oracle (.jar) en <o3>/jboss/modules/com/oracle/ojdbc6/main con el nombre igual al declarado en

    <resource-root path="ojdbc6.jar"/>

  5. Editar el archivo <o3>/jboss/standalone/configuration/o3bi.xml, buscar la sección <drivers> y agregarle:

    Code Block
    <driver name="oracle" module="com.oracle.ojdbc6">
      <xa-datasource-class>
        oracle.jdbc.OracleDriver
      </xa-datasource-class>
    </driver>
  6. Realizar el procedimiento de cambio de base de datos arriba enumerado.

Agregar control para obtener conexiones a la base de datos validas

 Hay que modificar las siguientes configuraciones de datasource:

  1. Editar el archivo <o3>/jboss/standalone/deployments/O3Server-ds.xml, buscar la sección <datasource> y agregarle:

    Code Block
     <validation>
            <validate-on-match>false</validate-on-match>
            <background-validation>false</background-validation>
            <valid-connection-checker class-name="org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker"/>
            <exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"></exception-sorter>
        </validation>
  2. Editar el archivo <o3>/jboss/standalone/configuration/o3bi.xm, buscar la sección <datasource> y agregar el mismo código que se muestra en el punto anterior.

 

...

(plus) HowTo Configurar Liferay con Diferentes Bases de Datos