question

Upvotes
Accepted
29 4 7 13

RTO - 'Force Logout from DACS' in the EMA 'login domain' message.

The question is about the suggestion on how to recover the application in such case of failure?
Monitor which type of event and then going to re-create the consumer?


StatusMsg

streamId="1"

domain="Login Domain"

state="Closed / Suspect / Not entitled / 'Force Logout from DACS.'"

name="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (please ignore this)

nameType="1"

StatusMsgEnd

rrto
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
15.2k 28 8 12

Hello @Frederic

The status message "Closed / Suspect" on the Login stream indicates that the logins stream between the API and the server is closed. The closed login stream also closes all opened streams and the API will not recover the streams.

The application needs to re-create the OMMConsumer to re-open the login stream to reconnect to the server.

The 'Force Logout from DACS.' error message is generated from the server. If the client is connecting to the RTO, I highly recommend the client contact the RTO support team to verify the server-side.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Can the EMA ErrorClient or StatusMsg handler capture this kind of issue?
Upvote
24.6k 86 10 22

Hi @Frederic

If the customer adds a registerClient for Login or specifies a callback client for OmmConsumer, then they should receive a StatusMsg for when the Login stream is closed.

e.g.

  • example 333_Login_Streaming_DomainRep - where you explicitly registerClient for LOGIN
  • or example 330_Login_Streaming - where you specify the AppClient to receive callback events when creating the OmmConsumer
// Example 333
UInt64 loginHandle = consumer.registerClient( Login::LoginReq().name( "user" ).getMessage(), client, closure );

OR
// Example 330
OmmConsumer consumer( OmmConsumerConfig().operationModel( OmmConsumerConfig::UserDispatchEnum ).username( "user" ), client); 


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Many thanks @umer.nalla for the information.
Upvotes
24.6k 86 10 22

Hi @zoya faberov

On a Force Logout from Dacs where the Login Stream is closed, you would need to delete the OmmConsumer and create again to initiate a new connection + login etc

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.