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.