Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
Error [$default.be.mt$.Thread.6] - [runtime.scheduler] java.lang.Long cannot be cast to java.lang.Integer
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
at be.gen.Events.ASTReserveResponse.setProperty(ASTReserveResponse.java:91)
at com.tibco.cep.driver.tibrv.serializer.TibRvMsgSerializer.deserialize(SourceFile:92)
at com.tibco.cep.runtime.service.cluster.ClusterTaskController.executeTask(ClusterTaskController.java:57)
at com.tibco.cep.runtime.scheduler.impl.WorkerBasedControllerV2$WorkerTask.run(WorkerBasedControllerV2.java:395)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.tibco.cep.runtime.util.CustomBEManagedThread.run(CustomBEManagedThread.java:23)
Wrong set of property types.
When receiving u32 datatypes from RV, use long datatypes in event properties as RV returns long if you get a field using the TibrvMsg.get() method. This is documented on the RV side (See Reference section below). When you add/update a field in the RV message using the TibrvMsg.updateU32() method on the sender and at the listener, try to get the field using the TibrvMsg.get() method. It will return a long value.
Refer to the RV documentation (tib_rv_java_reference, the figure detailing "Wire Format to Java Datatype Conversion Matrix") for the TibrvMsg.get() API.