Supporting old instances in the backing store when TIBCO BusinessEvents project path changes.

Supporting old instances in the backing store when TIBCO BusinessEvents project path changes.

book

Article ID: KB0088061

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
==========
Supporting old instances in the backing store when TIBCO BusinessEvents project path changes.


Environment:
============
TIBCO BusinessEvents 4.0.1
All Operating Systems


Symptoms:
============
In this particular example, the customer changed some of the class paths in their project.

Example of old path: Concepts.Handler.HandlerItem
To example of new path: OM.Concepts.Handler.HandlerItem

Backing store tables such as OBJECTTABLE, CLASSREGISTRY and CLASSTOTABLE were fixed by updating the new project path to the instances of the old path.

The following error is thrown when an old concept was attempted to be loaded in the backingstore.

&ltex errorType="java.lang.RuntimeException" message="java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: -1001" stackTrace="com.tibco.cep.runtime.model.exception.impl.BEExceptionImpl: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: -1001at com.tibco.be.functions.coherence.CoherenceFunctions.loadConceptUsingExtId(CoherenceFunctions.java:509)at


Cause:
=======
The classname for the workitem statemachine "WorkItem_SM" was not updated correctly in the OBJECTTABLE in the backing store (missing WorkItem).


Resolution:
==========
As the WorkItem was missing and not updated correctly in the OBJECTTABLE, the classname would need to be changed from:

be.gen.PEM.Concepts.WorkItem$WorkItem$WorkItem_SM

to:

be.gen.PEM.Concepts.WorkItem.WorkItem$WorkItem$WorkItem_SM

Using the SQL update below:

update objecttable set classname = 'be.gen.PEM.Concepts.WorkItem.WorkItem$WorkItem$WorkItem_SM' where classname = 'be.gen.PEM.Concepts.WorkItem$WorkItem$WorkItem_SM';

Use the following query to show the correct result in the backing store table.

select distinct t.classname from objecttable t


References:
==========
This approach is customer project centric. Refer to section "Upgrade an Existing Backing Store Schema" within Chapter 15 JDBC Backing Store Setup in the Administrator's guide. This demonstrates the generic method that needs to be used when changing the project path.

Issue/Introduction

Supporting old instances in the backing store when TIBCO BusinessEvents project path changes.