Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
Resolution:
Description:
============
By default, BE will not validate the payload in an event and it does not throw any exception even if the payload is not confirming with the schema defined.
Environment:
==========
TIBCO BusnessEvents Version 3.0.1 and up
All Operating Systems
Symptoms:
=========
BE will not throw any warning or exception for an invalid payload to an event, which leads to loss of functionality.
Cause:
=====
This was identified as a defect in early versions of BE 3.0.1 release and it is fixed in BE 3.0.1, hotfix release 8 onwards.
Resolution:
=========
1). Download and apply BE 3.0.1 HF8 from TIBCO Hotfix download site.
2). Add the following property in the BE engine TRA:
java.property.com.tibco.cep.runtime.channel.payload.validation=true
3). Restart the engine.
Caution
=======
Once the BE engine is started with the above mentioned settings in the TRA file, it will throw an exception for bad payload at Channel layer (before the event reaches any preprocessor). Hence this exception could not be caught by any BE code.
Note:
=====
Currently, if you want to delete the wrong messages from the queue, you could set a proper Time To Live (TTL ) value in the channel. After the messages exceeds TTL it will be deleted. If you want extra steps to deal with the wrong message you may need turn off the payload validation and do validation manually in preprocessor.