Hi!
I have 2 camel routes from quickfix consumers.
Camel version is 3.4.4 but behaviour is the same with greater versions too.
2 sessions are described in fix.properties file.
Second route is .autoStartup(false).
When camel starts a quickfix consumer for the active route, it starts
second quickfix session (for disabled route) too.
This happens in org.apache.camel.component.quickfixj.doStart()
-> quickfix.SocketInitiator
private void initialize() throws ConfigError {
if (isStarted.equals(Boolean.FALSE)) {
eventHandlingStrategy.setExecutor(longLivedExecutor);
createSessionInitiators();
for (Session session : getSessionMap().values()) {
Session.registerSession(session);
}
*startInitiators();*
eventHandlingStrategy.blockInThread();
isStarted = Boolean.TRUE;
} else {
log.warn("Ignored attempt to start already running
SocketInitiator.");
}
}
One possible workaround - store sessions in different files.
QuickFixJ approach for independen sessions startup described here:
https://stackoverflow.com/questions/61611047/how-to-manage-and-reload-multiple-quickfix-j-sessions-independently
.
How can I implement independent sessions startup with Camel using single
config file?
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Без
вирусов. www.avast.ru
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>