package quickfix.spring;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.marketcetera.core.ClassVersion;
import quickfix.Application;
import quickfix.ConfigError;
import quickfix.LogFactory;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.SessionFactory;
import quickfix.SessionSettings;
/**
* Straight subclass of {@link quickfix.SocketInitiator} to be used from Spring config files
* that adds the {@link InitializingBean} and {@link DisposableBean} behaviour.
* @author gmiller
* $Id: SocketInitiator.java 16154 2012-07-14 16:34:05Z colin $
*/
@ClassVersion("$Id: SocketInitiator.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$
public class SocketInitiator extends quickfix.SocketInitiator implements
InitializingBean, DisposableBean {
public SocketInitiator(Application application, MessageStoreFactory messageStoreFactory,
SessionSettings settings, LogFactory logFactory, MessageFactory messageFactory)
throws ConfigError {
super(application, messageStoreFactory, settings, logFactory, messageFactory);
}
public SocketInitiator(Application application, MessageStoreFactory messageStoreFactory,
SessionSettings settings, MessageFactory messageFactory) throws ConfigError {
super(application, messageStoreFactory, settings, messageFactory);
}
public SocketInitiator(SessionFactory sessionFactory, SessionSettings settings) throws ConfigError {
super(sessionFactory, settings);
}
public void afterPropertiesSet() throws Exception {
start();
}
public void destroy() throws Exception {
stop(true);
}
}