| Products | Versions |
|---|---|
| TIBCO BusinessEvents Enterprise Edition | - |
| Not Applicable | - |
Resolution:
The following exception occurs when modifying event properties in a BusinessEvents rule.
Exceptions:
2016 Jun 08 17:14:49:059 GMT +2 NLVHPRAAB00121.solon.prd Info [$default.be.mt$.Thread.9] - [user] [inference-class] Exceptioncom.tibco.cep.runtime.model.exception.impl.BEExceptionImpl: com.tibco.cep.runtime.model.event.impl.EventPropertyModificationException: Modified event property after assertion. Property name: userClass Event: be.gen.Events.UA.ExtraCare.uaBEConceptDeleteRequest@id=60019
at com.tibco.cep.runtime.model.event.impl.SimpleEventImpl.modified(SimpleEventImpl.java:281)
at be.gen.Events.UA.ExtraCare.uaBEConceptDeleteRequest.set$2zuserClass(uaBEConceptDeleteRequest.java:50)
at be.gen.Rules.UA.ExtraCare.uaBEConceptDeleteRequest$uaBEConceptDeleteRequest_a.execute(uaBEConceptDeleteRequest.java:33)
at com.tibco.cep.kernel.core.rete.ReteWM.resolveConflict(SourceFile:330)
at com.tibco.cep.kernel.core.rete.ReteWM$6.doTxnWork(SourceFile:1493)
at com.tibco.cep.kernel.core.rete.BeTransaction.run(SourceFile:141)
at com.tibco.cep.kernel.core.rete.BeTransaction.execute(SourceFile:101)
at com.tibco.cep.kernel.core.rete.ReteWM.executeRules(SourceFile:1399)
at com.tibco.cep.runtime.session.impl.RuleSessionImpl$4.doTxnWork(RuleSessionImpl.java:1163)
at com.tibco.cep.kernel.core.rete.BeTransaction.run(SourceFile:141)
at com.tibco.cep.kernel.core.rete.BeTransaction.execute(SourceFile:101)
at com.tibco.cep.runtime.session.impl.RuleSessionImpl.preprocessPassthru(RuleSessionImpl.java:1141)
at com.tibco.cep.runtime.service.cluster.ClusterTaskController$1.doTxnWork(ClusterTaskController.java:78)
at com.tibco.cep.kernel.core.rete.BeTransaction.run(SourceFile:156)
at com.tibco.cep.kernel.core.rete.BeTransaction.execute(SourceFile:101)
at com.tibco.cep.runtime.service.cluster.ClusterTaskController.executeTask(ClusterTaskController.java:62)
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$WorkerTask.run(WorkerBasedControllerV2.java:520)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:24)
Modifying an event should be done through the preprocessor. After assertion, the modifying of an event is not allowed and the changes of the event are not persistent. Updating event properties in RTC is no longer allowed from BusinessEvents beginning with release 5.2.0. Attempting to do so will throw the above EventPropertyModificationException. To revert back to previous behavior (BE 5.1.x or BE 4.x) use the following cdd property in the cluster area.
be.engine.event.modification.allowed.during.rtc=true
This cdd property will allow Event property modification in a BusinessEvents rule. Note that updating event in a pre-processor is still allowed.