Consider the following EmaConfig.xml contents:
<?xml version="1.0" encoding="UTF-8"?> <EmaConfig> <ConsumerGroup> <DefaultConsumer value="Consumer_1"/> <ConsumerList> <Consumer> <Name value="Consumer_1"/> <ChannelSet value="Channel_1"/> </Consumer> </ConsumerList> </ConsumerGroup> <ChannelGroup> <ChannelList> <Channel> <Name value="Channel_1"/> <ChannelType value="ChannelType::RSSL_SOCKET"/> <CompressionType value="CompressionType::None"/> <TcpNodelay value="1"/> <Host value="elektron"/> <Port value="14002"/> <XmlTraceToFile value="1"/> <XmlTraceFileName value="AdminMsgs1"/> </Channel> <Channel> <Name value="Channel_2"/> <ChannelType value="ChannelType::RSSL_SOCKET"/> <CompressionType value="CompressionType::None"/> <Host value="bad IP"/> <Port value="14002"/> <XmlTraceToFile value="1"/> <XmlTraceFileName value="AdminMsgs2"/> </Channel> </ChannelList> </ChannelGroup> </EmaConfig>
In the above, the consumer stanza is instructed to specifically use the "Channel_1" channel to define the connection specifications for the application. In this situation, everything works perfectly. The application connects as expected and the XmlTraceToFile is created with a syntax of
AdminMsg1.<process #>.xml.
If I were to change the ChannelSet specification to this:
<ChannelSet value="Channel_1, Channel_2"/>
Things change.
I still successfully connect into Channel_1 as before, however, the XmlTrace is using the one defined within Channel_2 ! That is, I now get an XmlTraceToFile created with a syntax of:
AdminMsg2.<process #>.xml.
For some reason, it's taking the specification from Channel_2 despite successfully connecting into the specification defined within Channel_1.
I'm guessing this is likely an issue within EMA.