TIBCO BusinessEvents (BE) - Database connection pools for Backingstore, DB-Concepts and Oracle catalog functions

TIBCO BusinessEvents (BE) - Database connection pools for Backingstore, DB-Concepts and Oracle catalog functions

book

Article ID: KB0071490

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.x and 6.x

Description

Database connection pools of a BE application

Issue/Introduction

Database connection pools of a BE application

Environment

All Operating Systems

Resolution

1. Persistence type: "Shared All"

The CacheServer and the InferenceAgent creates and use the Database connection pool configured in CDD file, tab "Cluster" -> "Object Management: [Cache]" -> "Persistence: [Store]".
The pool size is limited by the configured "MaxSize" + 1 additional connection to maintain the database connection.
Below properties valid to maintain the connection pool (check and restore).
be.backingstore.recreateOnRecovery
be.backingstore.test.connections.interval
be.backingstore.connection.retry.count
be.backingstore.test.connections.checkall
be.backingstore.test.connections.checkratio

See:
https://support.tibco.com/s/article/TIBCO-BusinessEvents-Backingstore-Database-reconnection-properties


2. Database Concepts (DB-Concepts)

The connection pool for DB-Concepts initialized on startup of the InferenceAgent.
The pool size configured in CDD file, tab "Cluster" -> "Database Concepts" and is limited by the configured "MaxSize" + 1 additional connection to maintain the database connection.

Note:
It is required to enable Flag "Enable Database Concepts:" in the "Process Unit" tab of the CDD file.

See:
https://docs.tibco.com/pub/businessevents-enterprise/6.2.2/doc/html/Default.htm#Data-Modeling-Developers/Database-Concepts-Overview.htm


3. Database Pool - Oracle catalog functions

To enable the Oracle catalog function it is required to open BE_HOME/studio/eclipse/studio.tra add property below and restart Studio.

TIBCO.BE.function.catalog.Oracle=true

In your project code you can create connection pools identified by the key (String) with catalog function "registerConnection(<key>, <JDBCUri>,<poolSize>)"
For each operation you need to load one connection from pool and release the connection (finally block).
The total number of connections depends on the number of configured pools identified by the key and the configured pool size.

Note:
The connection pool is created on the first call of catalog function "registerConnection(<key>, <JDBCUri>,<poolSize>)". The function call is ignored if a pool has already been created for the key.

See:
https://docs.tibco.com/pub/businessevents-enterprise/6.2.2/doc/html/Default.htm#Data-Modeling-Developers/Oracle-Catalog-Functions.htm