Closed thomasthebaker closed 7 years ago
Hi Tom,
ChannelSet configuration is supported only for Consumers. As you see in the EMAJ_ConfigGuide (section 3.2.4), only Channel parameter is supported for NI_Providers
The enhancement requirement has been captured in ESDK-651.
The enhancement for supporting ChannelSet on EMA NIProvider has been added into Elektron-SDK_1.1.1 release. Thanks for your support.
I've been able to successfully use the ChannelSet configuration with the OmmConsumerImpl. The consumer has a ChannelSet with two different ADS servers. When one server goes down the reactor picks up another channel from the ChannelSet and starts using that. The subscription messages keep flowing after the consumer picks up the new channel.
I can see that the OmmNIProviderImpl can be configured to use a ChannelSet. However, it seems to just stick to the first channel in the ChannelSet. When the underlying channels disconnect during failures the OmmNIProviderImpl doesn't pick up the other channels. It keeps using the first channel in the ChannelSet. Also if it times out connecting to the first channel it doesn't try the next channel after the login timeout.
Here is a log output of an NI Provider configured with two ADH servers in a channel set. It initially connects to the first channel and successfully sends data. When I stop that ADH server you can see that second channel gets activated and connects out to the seconds ADH. However the OmmNIProvider doesn't seem to use the new channel. It keeps accepting messages but never sends them to the ADH as it maintains a link to the disconnected channel.
My provider is configured with these properties: