TIBCO ActiveMatrix BusinessWorks™ 5.x application fails to start up when engine database type is MariaDB

TIBCO ActiveMatrix BusinessWorks™ 5.x application fails to start up when engine database type is MariaDB

book

Article ID: KB0137534

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks 5.x

Description

When engine database type is MariaDB and MariaDB Connector/J 2.4.0 or higher is used, TIBCO ActiveMatrix BusinessWorks™ 5.x application fails to start up. The following exception is encountered.

Startup error: System database not initialized
    at com.tibco.pe.core.JobPoolConfigurator.a(Unknown Source)
    at com.tibco.pe.core.JobPoolConfigurator.if(Unknown Source)
    at com.tibco.pe.core.JobPool.<init>(Unknown Source)
    at com.tibco.pe.core.JobPoolCreator.init(Unknown Source)
    at com.tibco.pe.core.JobPoolCreator.<init>(Unknown Source)
    at com.tibco.pe.PEMain.a(Unknown Source)
    at com.tibco.pe.PEMain.do(Unknown Source)
    at com.tibco.pe.PEMain.a(Unknown Source)
    at com.tibco.pe.PEMain.<init>(Unknown Source)
    at com.tibco.pe.PEMain.main(Unknown Source)
caused by: java.lang.Exception: can not determine database type, please specify type in Engine.UseDatabase property
    at com.tibco.pe.dm.DBConnectionPool.init(Unknown Source)
    at com.tibco.pe.core.JobPoolConfigurator.a(Unknown Source)
    at com.tibco.pe.core.JobPoolConfigurator.if(Unknown Source)
    at com.tibco.pe.core.JobPool.<init>(Unknown Source)
    at com.tibco.pe.core.JobPoolCreator.init(Unknown Source)
    at com.tibco.pe.core.JobPoolCreator.<init>(Unknown Source)
    at com.tibco.pe.PEMain.a(Unknown Source)
    at com.tibco.pe.PEMain.do(Unknown Source)
    at com.tibco.pe.PEMain.a(Unknown Source)
    at com.tibco.pe.PEMain.<init>(Unknown Source)
    at com.tibco.pe.PEMain.main(Unknown Source)

Since version 2.4.0 of MariaDB Connector/J, DatabaseMetaData.getDatabaseProductName() returns MariaDB. Earlier versions returned MySQL. This difference in driver behavior is causing the issue.

Environment

TIBCO ActiveMatrix BusinessWorks™ 5.x
MariaDB Connector/J 2.4.0 or higher

Resolution

Set the URL parameter useMysqlMetadata to true. When this parameter is set to true, DatabaseMetaData.getDatabaseProductName() returns MySQL.

jdbc:mariadb://host:port/database?useMysqlMetadata=true

Issue/Introduction

TIBCO ActiveMatrix BusinessWorks™ 5.x applications may fail during start up when engine database type is MariaDB and MariaDB Connector/J 2.4.0 or higher is used. This article explains how to fix the issue.