EMA Programatic Configurition

Having below warning. Would like to confirm if I am missing anything to configure.I am using Programatic configurition to connect to MDS.


WARN OmmConsumerImpl [main]: loggerMsg

ClientName: EmaConfig

Severity: Warning

Text: no configuration exists in the config file for consumer dictionary [DictionaryGroup|DictionaryList]. Will use dictionary defaults if not config programmatically.

loggerMsgEnd


Best Answer

  • wasin.w
    wasin.w admin
    Answer ✓

    Hello @vikas.chaudhary

    Thank you for the information. I can replicate the same warning message after I renamed the EmaConfg.xml file and ran the ex421_MP_ProgrammaticCfg example with EMA Java 3.6.0 and EMA Java 3.6.6 The result is shown below:

    2022-12-16 14:03:54.999 WARNING com.refinitiv.ema.access.ConfigErrorTracker log 
    loggerMsg
        ClientName: EmaConfig
        Severity: Warning
        Text:    no configuration exists in the config file for consumer dictionary [DictionaryGroup|DictionaryList]. Will use dictionary defaults if not config programmatically.
    loggerMsgEnd

    However, when I tested with EMA Java 3.6.7, the message has been changed to the INFO level instead as follows:

    2022-12-16 13:54:58.644 INFO    com.refinitiv.ema.access.ConfigErrorTracker log 
    loggerMsg
        ClientName: EmaConfig
        Severity: Info
        Text:    no configuration exists in the config file for consumer dictionary [DictionaryGroup|DictionaryList]. Will use dictionary defaults if not config programmatically.
    loggerMsgEnd

    I do believe that it is related to the following change in the EMA Java 3.6.7 (please see more detail in the CHANGELOG.md file)

    EMA Java 3.6.7.L1 Issues Resolved
    [RTSDK-6417] - EMA log shows messages that should be "Info" as "Error"

    Is version 3.6.7 behavior match your requirement?

    About the "Is there any way to check if my dictionary is configured corrected programmatically." question. If you enable the API log in TRACE/FINEST level, the following message is shown.

    loggerMsg
    ClientName: DictionaryCallbackClient
    Severity: Trace
    Text: Successfully loaded local dictionaries:
    RDMFieldDictionary file named C:\drive_d\Project\APIs\EMA_Code\EMA_Java_207L2_Maven\etc\RDMFieldDictionary
    EnumTypeDef file named C:\drive_d\Project\APIs\EMA_Code\EMA_Java_207L2_Maven\etc\enumtype.def
    loggerMsgEnd

Answers

  • Hello @vikas.chaudhary

    Thank you for contacting us.

    Besides this warning message, can the application connect and consume data successfully?

    Did your application source code set the DictionaryGroup and its related parameters? You can find the example in the EMA API Consumer example ex421_MP_ProgrammaticCfg (Java) and Con421 (C++).

    Additionally, you may check my colleague's answer in this old post too.

  • Application can connect and consume data successfully. Is there any other way to suppress warning provided that programatic Config has all configurition.



    innerElementList.add(EmaFactory.createElementEntry().ascii("DictionaryType", "DictionaryType::FileDictionary"));

    innerElementList.add(EmaFactory.createElementEntry().ascii("RdmFieldDictionaryFileName", EMA_RDM_DICTIONARY_DEFAULT_PATH));

    innerElementList.add(EmaFactory.createElementEntry().ascii("EnumTypeDefFileName", EMA_ENUM_DICTIONARY_DEFAULT_PATH));


    innerMap.add(EmaFactory.createMapEntry().keyAscii( getDefaultDictionaryName(), MapEntry.MapAction.ADD, innerElementList));

    innerElementList.clear();


    elementList.add(EmaFactory.createElementEntry().map( "DictionaryList", innerMap ));

    innerMap.clear();


    configMap.add(EmaFactory.createMapEntry().keyAscii( "DictionaryGroup", MapEntry.MapAction.ADD, elementList ));

    elementList.clear();

  • Hello @vikas.chaudhary

    Could you please let me know the version and edition of the EMA API that you are using?

    I cannot replicate the same warning message in the EMA Java 3.6.6 L1 (RTSDK 2.0.6 L1) and EMA Java 3.6.7 L3 (RTSDK 2.0.7.L3) versions.

    I tested with the ex421_MP_ProgrammaticCfg example, it can connect and consume data without any warning messages.

  • I am using ema-3.6.0.0.jar and eta-3.6.0.0.jar. Is there any way to check if I dictionary is configured corrected programatically. I am not getting this warning when using EmaConfig.xml.

  • I am using ema-3.6.0.0.jar and eta-3.6.0.0.jar. Is there any way to check if I dictionary is configured corrected programatically. I am not getting this warning when using EmaConfig.xml.