question

malika.gupta avatar image
1 0 1 5

How to interpret Login messages for invalid user/service for Java EMA api, We have to handle scenarios for "Closed/Suspect/User unknown to permissioning system, it could be DACS, AAA or EED".

Preparing a server side application to fetch market price using EMA api in JAVA. Creating OMM consumer while the application is getting up . The invalid message is getting logged via ema internal apis but not able to collect it by using any handler

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apiauthenticationlog-in
10 |1500

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

zoya faberov avatar image
28.3k 30 11 15
@malika.guptaPlease view of the subscriber examples available with Java EMA SDK.

They register status callback handler such as:

public void onStatusMsg(StatusMsg statusMsg, OmmConsumerEvent event) 
	{
		System.out.println(statusMsg);
	}

The app will receive and can detect a status of

"...state="Closed / Suspect / User unknown ..."

"...state="Closed / Suspect / None / 'Service name of 'YOUR_SERVICE_NAME' is not found.'"

Do you see it?
10 |1500

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

malika.gupta avatar image
1 0 1 5

Thanks @zoya.farberov for the reply.


I am creating connection i.e. consumer object with user and server configuration on application startup and using that connection only, serving multuple requests.
Want to capture the status at the time of creation of consumer object only, how can we do it? And is it fine to do this way, creating consumer only once?

1 comment
10 |1500

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

@malika.gupta,

Do you have the status callback registered as shown in the example?

Then in order to test that it is working as expected, please try with

1. Invalid user - see the status trigger

2. Invalid service - see the status trigger.

wasin.w avatar image
14.3k 23 8 12

Hi @malika.gupta

Could you please re-test the scenario with EMA Java 1.1.0 (Elektron SDK 3.1.0) which is the latest version? This version has fixed the "Consumer application does not receive denied login message/event" issue. You can use the EMA Java example330__Login__Streaming to verify the issue.

10 |1500

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

umer.nalla avatar image
23.5k 84 10 22

Hi @malika.gupta

EMA is a realtime asynchronous API - so can expect to get Status Msgs as and when the status of a stream changes e.g. the Login stream, individual Data Item streams etc.

If you try to connect with an invalid user then you would expect to get a StatusMsg shortly after the connection attempt.

However, once you are up and running it is still entirely possible that you could get StatusMsgs later as and when the state of a stream changes. e.g. if the server connection is lost or an item is closed or if a user is de-permissioned in realtime and so on.

And yes, one Consumer at startup is usually fine for a typical consumer. And a single consumer can be used to register interest for multiple instruments - either by using the Batch facility (example370__MarketPrice__Batch) or by repeatedly calling registerClient for each instrument you wish to consume.

10 |1500

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