Hi everyone,
I have a test RTO environment with a valid client id and secret credentials (I use RTO v2 authentication with EMA).
Here is my config (programmatic, not using Emaconfig.xml):
Map elementMap = EmaFactory.createMap();
ElementList elementList = EmaFactory.createElementList();
ElementList innerElementList = EmaFactory.createElementList();
innerElementList.add(EmaFactory.createElementEntry().ascii("Channel", "Subscription_Channel_RTO_5d179423-1ee9-454a-a7a7-61d6b48d2eb2"));
elementMap.add(EmaFactory.createMapEntry().keyAscii("Subscription_Consumer_RTO_5d179423-1ee9-454a-a7a7-61d6b48d2eb2", MapEntry.MapAction.ADD, innerElementList));
innerElementList.clear();
elementList.add(EmaFactory.createElementEntry().map("ConsumerList", elementMap));
elementMap.clear();
Map configDb = EmaFactory.createMap();
configDb.add(EmaFactory.createMapEntry().keyAscii("ConsumerGroup", MapEntry.MapAction.ADD, elementList));
elementList.clear();
// ChannelType::RSSL_ENCRYPTED - Https tunnel connection type, RTO does not support other channel types
innerElementList.add(EmaFactory.createElementEntry().ascii("ChannelType", "ChannelType::RSSL_ENCRYPTED"));
innerElementList.add(EmaFactory.createElementEntry().ascii("CompressionType", "CompressionType::None"));
innerElementList.add(EmaFactory.createElementEntry().intValue("GuaranteedOutputBuffers", 5000));
innerElementList.add(EmaFactory.createElementEntry().ascii("Location", "eu-west-1"));
innerElementList.add(EmaFactory.createElementEntry().intValue("EnableSessionManagement", 1));
if (logger.isTraceEnabled()) {
innerElementList.add(EmaFactory.createElementEntry().intValue("XmlTraceToStdout", 1));
}
elementMap.add(EmaFactory.createMapEntry().keyAscii(channelName, MapEntry.MapAction.ADD, innerElementList));
innerElementList.clear();
elementList.add(EmaFactory.createElementEntry().map("ChannelList", elementMap));
elementMap.clear();
configDb.add(EmaFactory.createMapEntry().keyAscii("ChannelGroup", MapEntry.MapAction.ADD, elementList));
elementList.clear();
return configDb;
When I run this config multiple times, I arbitrary recieve either:
1. The repeating login failure message:
2024-03-25 13:46:08:915 WARN pool-1-thread-5 access.OmmConsumerImpl:619 - loggerMsg
ClientName: ChannelCallbackClient
Severity: Warning
Text: Received ChannelDownReconnecting event on channel Subscription_Channel_RTO_5d179423-1ee9-454a-a7a7-61d6b48d2eb2
RsslReactor @36beee46
RsslChannel @78a56fbe
Error Id 0
Internal sysError 0
Error Location Reactor.processWorkerEvent
Error text Error - exceeded initialization timeout (5 s)
loggerMsgEnd
ending with :
invalid usage: Exception Type='OmmInvalidUsageException', Text='login failed (timed out after waiting 45000 milliseconds) for ', Error Code='-4052'
2. Or I receive login success message:
<loggerMsg
ClientName: ChannelCallbackClient
Severity: Warning
Text: Received ChannelDownReconnecting event on channel Subscription_Channel_RTO_96e798fc-8dd4-48c5-83a6-0e3b269967c0
RsslReactor @557c7e5
RsslChannel @1297d6e8
Error Id 0
Internal sysError 0
Error Location Reactor.processWorkerEvent
Error text Error - exceeded initialization timeout (5 s)
loggerMsgEnd>
The success and fail scenarios are arbitrary between one run and another!
Can you provide some additional info on why this is (or at least seems to me) arbitrary?
Thank you