EMA Java - What triggers StatusMsg without state

Hi,

When subscribing to a stream, StatusMsg almost always comes with a state. I've just come across a message that didn't have a state (StatusMsg.hasState() is false). How and why are they triggered and how should they be handled? Does the lack of state mean that there're no state changes, e.g. if stream and data state were good prior to the arrival of the message, then the stream and data should be assumed to be good, and if they were bad prior to that, then they should be assumed to be bad?

Best Answer

  • @a0z

    Refer to the EMA RDM Usage Guide, the State is optional.

    image

    A status message can convey:

    • changes in stream state or data state
    • changes in a stream’s permissioning information
    • or changes to the item group of which the stream is a part

    Therefore, if there is no state in the status message, it may indicate changes in permission information or item group. You can enable tracing in the EMA Java to verfiy the status message.