Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source)
that you encounter is similar to the problem in this How to connect to TREP using EMA topic. The problem occurs when you connect the EMA API to the ADS older versions that does not provide component version to the API. After EMA connects to older version of TREP, it tries to get TREP component version. If it fails, the exception is thrown.
What is the ADS version that you are using?
If your ADS version is 2.2 or older, they are already end of life and no longer supported, I suggest you upgrade to ADS 3.0 which is a latest version.
I can replicate the same message by using a telnet connects to the EMA Java Interactive Provider example 100 (IProvider.java), and then quit a telnet command. The example shows the same log messages
SEVERE: loggerMsg ClientName: ServerChannelHandler Severity: Warning Text: Received ChannelDown event on client handle 1 Instance Name Provider_1_1 RsslReactor Channel is null Error Id 0 Internal sysError 0 Error Location Reactor.processWorkerEvent Error text Error initializing channel: errorId=-1 text=Error occurred during connection process. loggerMsgEnd
Based on the above log message, the problem seems to happen when the provider application receives a connection from consumer client. What is the consumer application that you are using? Can you re-test by using the EMA Java Consumer example 100 as a consumer client to verify the problem?
Hi @Wasin Waeosri
I have used the below example
com.thomsonreuters.ema.examples.training.consumer.series100.example100__MarketPrice__Streaming.Consumer.java class (client) to connect to Reuters servers and get the Market pricing data
But I got as below
For server 1:
Error text Error initializing channel: errorId=-1 text=Error occurred during connection processFor server 2:
Error text Error initializing channel: errorId=-1 text=Handshake failed with far end. No more Protocols to tryPlease guide me
I can replicate the both messages when setting the Consumer example connects to the SSL publisher which is unsupported by the EMA Java. The EMA Java supports the RSSL connection only, I suggest you configure the host to the RSSL port as following example
consumer = EmaFactory.createOmmConsumer(config.host("<ADS IP>:<RSSL Port>").username("user"));
If the problem still persists after you changed the port to the RSSL port, please give us the server details (server IP, Port, snippet of code that set the connection).