The data source is EC over Internet. Linux environment. The application often receives the error message of "Login stream was closed" randomly.
Using EMA Java. Could you please help to advise and explain how to fix this issue?
There is no simple or single answer to this, in my opinion, there can be many causes.
Usually network, and machine-related issues, and not code are at the root cause of "random" closes.
However, the app itself can also be a cause, if it's processing too slow, other issues.
Is your custom app running on the same machine as EC?
Have you investigated EC log, perhaps enabling debug first?
One thing I would check first is I would run the test consumer client (rmdstestclient application found within Demo folder of your EC installation) in parallel with your custom app. And I would ascertain that when the custom app closes, so does rmdstestclient.
If that is the case, I would look at machine and network issues. I would check machine load, netwrok load, any network related interrupts at the time of the close. Collect EMA logs ( enable tracing) and cross check with your market data infra team, to cross-check with infra logs (ADS logs).
If, however, rmdstestclient continues receiving , but the custom app closes, the custom app has to be looked into. Would still check trace and infra logs, but neither machine load nor network load could be the culprit. Look at what the custom app was doing at the time when the connection was closed.
According to zoya's answer:
You can find rmdstestclient and its document in TREP Infrastructure Tools package under ELEKTRON SDK - TOOLS in Downloads of Elektron SDK - Java
To enable tracing in EMA, set XmlTraceToStdout to be 1 as explained in 3.1.4 Consumer Entry Parameters in EMA Java Configuration Guide