es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.DB2XADataSource del [Módulo “com.ibm.db2”]

Estoy utilizando Jboss EAP 7.2 y estoy tratando de agregar un nuevo XA Datasource. Estoy utilizando db2jcc4.jar y db2jcclicensecisuz.jar en la carpeta com.ibm.db2 en jboss/modules/.

{“WFLYCTL0062: La operación compuesta falló y se deshizo. Pasos que fallaron:” => {“Paso de operación-1” => {“WFLYCTL0080: Servicios fallidos” => {“org.wildfly.data-source.dskmreposxa” => “WFLYJCA0033: Error durante la implementación de dskmreposxa
Caused by: org.jboss.jca.deployers.common.DeployException: WFLYJCA0030: no se puede implementar
Caused by: org.jboss.as.controller.OperationFailedException: WFLYJCA0114: Error al cargar la clase del datasource: COM.ibm.db2.jdbc.DB2XADataSource [ “WFLYJCA0114: Error al cargar la clase del datasource: COM.ibm.db2.jdbc.DB2XADataSource” ]
Caused by: java.lang.ClassNotFoundException: COM.ibm.db2.jdbc.DB2XADataSource de [Módulo “com.ibm.db2” desde el cargador de módulo local @475530b9 (buscador: local module finder @1d057a39 (roots: /dnb/opt/jboss/modules,/dnb/opt/jboss/modules/system/layers/base))]}}}}}}}}}}}}}}}}}}}}

Tags:  ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error proporcionado, el servidor Jboss EAP 7.2 no puede cargar la clase del origen de datos COM.ibm.db2.jdbc.DB2XADataSource. Esto podría ser debido a algunas razones:

    1. Los archivos db2jcc4.jar y db2jcc_license_cisuz.jar no están en la ubicación correcta. Por favor, asegúrese de que ambos archivos JAR estén disponibles en la siguiente ruta: jboss/modules/com/ibm/db2/main/.
    2. Los módulos no están definidos correctamente. El archivo modules.xml en la carpeta jboss/modules/com/ibm/db2/main/ debería contener lo siguiente:

    <module xmlns="urn:jboss:module:1.3" name="com.ibm.db2">
        <resources>
            <resource-root path="db2jcc4.jar"></resource-root>
            <resource-root path="db2jcc_license_cisuz.jar"></resource-root>
        </resources>
        <dependencies>
            <module name="javax.api"></module>
            <module name="javax.transaction.api"></module>
        </dependencies>
    </module>
    
    1. Es posible que el servidor Jboss no tenga los permisos necesarios para acceder a los archivos JAR. Por favor, verifique los permisos de archivo para los JAR y asegúrese de que el usuario del servidor Jboss tenga los permisos adecuados.

    Una vez que se haya resuelto el problema, se puede agregar el origen de datos utilizando la siguiente configuración:

    <xa-datasource jndi-name="java:jboss/datasources/ds_km_repos_xa" pool-name="ds_km_repos_xa">
        <xa-datasource-property name="URL">jdbc:db2://hostname:portnumber/dbname</xa-datasource-property>
        <driver>ibmdb2</driver>
        <security>
            <user-name>db_username</user-name>
            <password>db_password</password>
        </security>
    </xa-datasource>
    

    Asegúrese de que el nombre del controlador sea el mismo que se define en el archivo module.xml. Una vez que la configuración del origen de datos esté completa, reinicie el servidor Jboss y verifique que se haya implementado sin ningún problema.

Comments are closed.