/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.component.factory.livedata; import org.slf4j.Logger; import com.opengamma.livedata.server.LastKnownValueStoreProvider; import com.opengamma.livedata.server.MapLastKnownValueStoreProvider; import com.opengamma.livedata.server.RedisLastKnownValueStoreProvider; import com.opengamma.transport.ByteArrayFudgeMessageSender; import com.opengamma.transport.FudgeMessageSender; import com.opengamma.transport.jms.JmsByteArrayMessageSender; import com.opengamma.util.jms.JmsConnector; /** * */ public final class CogdaFactoryUtil { private CogdaFactoryUtil() { } public static FudgeMessageSender constructMessageSender(String topicName, JmsConnector jmsConnector) { JmsByteArrayMessageSender jmsSender = new JmsByteArrayMessageSender(topicName, jmsConnector.getJmsTemplateTopic()); ByteArrayFudgeMessageSender bafms = new ByteArrayFudgeMessageSender(jmsSender); return bafms; } public static LastKnownValueStoreProvider constructLastKnownValueStoreProvider( String redisServer, Integer redisPort, String redisPrefix, boolean writeThrough, Logger logger) { if (redisServer == null) { logger.info("No Redis Server specified in configuration so using map LKVStoreProvider."); return new MapLastKnownValueStoreProvider(); } else { logger.info("Connecting Redis LKV Store Provider to {}:{} {} {}", new Object[] {redisServer, redisPort, redisPrefix, writeThrough}); RedisLastKnownValueStoreProvider lkvProvider = new RedisLastKnownValueStoreProvider(); lkvProvider.setServer(redisServer); lkvProvider.setWriteThrough(writeThrough); if (redisPort == null) { logger.info("No Redis port provided. Defaulting to 6379"); lkvProvider.setPort(6379); } else { lkvProvider.setPort(redisPort); } if (redisPrefix != null) { logger.info("Setting Redis key prefix to {}", redisPrefix); lkvProvider.setGlobalPrefix(redisPrefix); } return lkvProvider; } } }