When processing UpdateMsg using multiple threads, keep getting exception when opening the message. I

When processing UpdateMsg using multiple threads, keep getting exception when opening the message. Is there way to clone a message for further processing. I believe the UpdateMsg objects keep getting overridden.

Exception:

2019-09-09 11:29:29 [pool-1-thread-1] ERROR c.b.e.f.reuters.parser.MessageParser - Error com.thomsonreuters.ema.access.OmmInvalidUsageExceptionImpl: Attempt to name() while it is NOT set. at com.thomsonreuters.ema.access.MsgImpl.ommIUExcept(MsgImpl.java:395) ~[ema.jar:emaj3.1.0.L1.all.rrg]

Best Answer

  • Hi @mizanur.kazi

    Have you tried using the EmaFactory.createUpdateMsg(UpdateMsg other) method to clone the UpdateMsg?

    This feature was added to ESDK 1.3.1.L1 which is the latest version available here

    If you have to use an older version for company policy reasons, then you will need to extract the payload and transfer into your own collection / java object and then perform the processing on your own objects. The incoming UpdateMsg (and other event handlers) is owned by the API and cannot be accessed once the onUpdateMsg event handler returns.

Answers