Dynamic view/Field filtering is ignored by EMA api

Hi,

I would like to get real-time updates for only specific fields of a RIC. I've using the below sample code for the dynamic view/field filtering.

ElementList view = EmaFactory.createElementList();

OmmArray array = EmaFactory.createOmmArray();

array.fixedWidth(2);

array.add(EmaFactory.createOmmArrayEntry().intValue(22));

array.add(EmaFactory.createOmmArrayEntry().intValue(25));

view.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, 1));

view.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, array));

consumer.registerClient(EmaFactory.createReqMsg().serviceName("IDN_RDF").name("JPY=").payload(view), appClient);


However, the view/filter seems to be ignored by the api and I get updates for all fields. Am I missing anything ?

I connecting to our internal TREP/ADS server. Has it anything to do with version of this server ?

Thanks in advance.

Mani



Best Answer

  • zoya faberov
    Answer ✓

    Hello @Mani.A ,

    1. Would suggest to verify that View feature is supported by your local infrastructure.

    From RTSDK EMA Examples, please rune example x333_Login_Streaming_DomainRep.Consumer

    When you run it, you should be receiving the output on startup similar to:

    Received Refresh. Item Handle: 1 Closure: null
    Item Name: user
    Service Name: <not set>
    Item State: Open / Ok / None / 'Login accepted by host ***.'

    AllowSuspectData : true
    ApplicationId : 256
    ApplicationName : ADS
    Position : ***
    ProvidePermissionExpressions : true
    ProvidePermissionProfile : false
    SingleOpen : true
    SupportBatchRequests : 7
    SupportOMMPost : true
    SupportOptimizedPauseResume : false
    SupportViewRequests : true
    SupportStandby : false
    SupportEnhancedSymbolList : 1
    Solicited : true
    UserName : user
    UserNameType : 1
    State : StreamState: 1 DataState: 1 StatusCode: 0StatusText: Login accepted by h
    ost cipsnylab1.

    2. Are you running View example code consumer.series300.ex360_MP_View as is? If that is not the case, it may be helpful, as a sanity check, to test with this example code as is, unchanged, by only modifying it to point to your local infrastructure, to make sure the result is consistent and is not due to the custom code being added/modified?

Answers

  • Thanks @zoya.farberov for your prompt and fast response besides pointing to the right direction.

    I got the below output. Looks like it was disabled in my local infrastructure. Will reach out to the local admin.


    Received Refresh. Item Handle: 1 Closure: null
    ...
    ...
    ...
    SingleOpen : true
    SupportBatchRequests : 7
    SupportOMMPost : true
    SupportOptimizedPauseResume : false
    SupportViewRequests : false
    SupportStandby : false
    Solicited : true
    UserName : ***
    UserNameType : 1
    State : StreamState: 1 DataState: 1 StatusCode: 0StatusText: Login accepted by host ***.