Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
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.
<ex 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.