esanchezros / quickfixj-spring-boot-starter

Spring Boot Starter for QuickFIX/J
Apache License 2.0
125 stars 57 forks source link

How to get initiator and SessionSettings reference in a class? #98

Closed ronyitc closed 1 year ago

ronyitc commented 1 year ago

This is more like question. I have a Trader class on initiator side. I need sessionSettings and Initiator as a member variable to extract various setting from initiator. Like is initiator started? is it loggedIn? etc.

@Getter
@Setter
@Component
@RequiredArgsConstructor
public class Trader {

  public boolean isInitiatorStarted() {
    return initiator.getSessions().get(0) != null;
  }

  public String getStringFromSettings(String key) throws ConfigError {
    return sessionSettings.getString(getSessionIDFromSettings(), key);
  }
}
esanchezros commented 1 year ago

Hi @ronyitc

You can autowire SessionSettings and Initiator beans in your component

@Autowire
private SessionSettings sessionSettings

@Autowired
private Initiator clientInitiator;

In case you have both client and server (initiator and acceptor), you need to qualify the sessionSettings autowired bean with @Qualifier("clientSessionSettings")