/** * 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 java.util.Set; import com.opengamma.id.ExternalScheme; import com.opengamma.livedata.ResubscribingLiveDataClient; import com.opengamma.util.ArgumentChecker; import com.opengamma.util.jms.JmsConnector; /** * Listens for notifications that market data is available and invokes {@link ResubscribingLiveDataClient#resubscribe()}. */ public class LiveDataClientAvailabilityListener extends AvailabilityNotificationListener { private final ResubscribingLiveDataClient _client; /** * @param client the client to resubscribe when a notification occurs * @param topic The topic for {@link MarketDataAvailabilityNotification} messages * @param jmsConnector For receiving JMS messages */ public LiveDataClientAvailabilityListener(ResubscribingLiveDataClient client, String topic, JmsConnector jmsConnector) { super(topic, jmsConnector); _client = ArgumentChecker.notNull(client, "client"); } @Override protected void notificationReceived(Set<ExternalScheme> schemes) { _client.resubscribe(); } }