/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.marketdata.live; import org.springframework.context.Lifecycle; import com.opengamma.livedata.LiveDataClient; import com.opengamma.livedata.ResubscribingLiveDataClient; import com.opengamma.util.jms.JmsConnector; /** * A {@link LiveDataClient} wrapper that resubscribes based on {@link AvailabilityNotificationListener} notifications. */ public class JmsResubscribingLiveDataClient extends ResubscribingLiveDataClient implements Lifecycle { private final LiveDataClientAvailabilityListener _listener; public JmsResubscribingLiveDataClient(final LiveDataClient delegate, final String topic, final JmsConnector connector) { super(delegate); _listener = new LiveDataClientAvailabilityListener(this, topic, connector); } // Lifecycle @Override public void start() { _listener.start(); } @Override public void stop() { _listener.stop(); } @Override public boolean isRunning() { return _listener.isRunning(); } }