TIBCO ActiveMatrix® BPM, issue where jackrabbit journal entries in the database grow in size

TIBCO ActiveMatrix® BPM, issue where jackrabbit journal entries in the database grow in size

book

Article ID: KB0082605

calendar_today

Updated On:

Products Versions
TIBCO BPM Enterprise (formerly TIBCO ActiveMatrix BPM) 4.x

Description

With TIBCO ActiveMatrix® BPM, there is an issue where jackrabbit journal
entries in the database grow in size. To alleviate this, TIBCO recommends
configuring a janitor thread. A janitor thread periodically cleans up the
journal entries so that the records do not grow.

Issue/Introduction

TIBCO ActiveMatrix® BPM, issue where jackrabbit journal entries in the database grow in size

Environment

All Platforms

Resolution

To configure the janitor thread, do the following:

1. Stop the appdev component on each running node.
   
2. Make a backup copy of the repository.xml file in the appdev folder
   (<data>\tibco\data\bpm\amx.bpm.app\appdev\repository.xml).
    
3. Edit the cluster location section of the repository.xml file, adding
   the janitor configuration as shown below, adjusting the sleep time if
   necessary (the sleep time determines how often the janitor thread
   cleans up). The setting included below is for one hour (3,600 seconds).

    <Cluster id="@NODE_ID@" syncDelay="2000">
        <Journal class="org.apache.jackrabbit.core.journal.MSSqlDatabaseJournal">
            <param name="schemaCheckEnabled" value="false"/>
            <param name="schemaObjectPrefix" value="apa_jl_"/>
            <param name="databaseType" value="mssql"/>
            <param name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
            <param name="url" value="jdbc:sqlserver://@DB_HOST@:@DB_PORT@;DatabaseName=@DB_NAME@" />
            <param name="user" value="@DB_USER@"/>
            <param name="password" value="@DB_PSWD@"/>

            <!-- Janitor configuration -->
            <param name="revision" value="${rep.home}/revision.log"/>

            <!--specifies whether the clean-up thread for the journal table is enabled -->
            <param name="janitorEnabled" value="true"/>

            <!-- specifies the sleep time of the clean-up thread in seconds -->
            <param name="janitorSleep" value="3600"/>   

            <!--specifies the hour at which the clean-up thread initiates its first run -->
            <param name="janitorFirstRunHourOfDay" value="6"/>
        </Journal>
    </Cluster>

4. Start the appdev component on each running node to trigger the janitor
   thread.

5. After the appdev component has started, you can add new nodes if needed.
   Newly-added nodes will also have the janitor thread configured.