public static void main(final String[] args) { MamaTransport transport = null; MamaTransport mDictTransport = null; MamaDictionary dictionary = null; CommandLineProcessor options = new CommandLineProcessor(args); Level level = options.getLogLevel(); if (level != null) { theLogger.setLevel(level); Mama.enableLogging(level); } theLogger.info("Source: " + options.getSource()); try { // Initialize MAMDA mBridge = options.getBridge(); Mama.open(); transport = new MamaTransport(); transport.create(options.getTransport(), mBridge); mDictTransportName = options.getDictTransport(); if (mDictTransportName != null) { mDictTransport = new MamaTransport(); mDictTransport.create(mDictTransportName, mBridge); } else { mDictTransport = transport; } // Get the Data dictionary..... dictionary = buildDataDictionary(mDictTransport, options.getDictSource()); MamdaFundamentalFields.setDictionary(dictionary, null); MamdaCommonFields.setDictionary(dictionary, null); for (Iterator iterator = options.getSymbolList().iterator(); iterator.hasNext(); ) { final String symbol = (String) iterator.next(); MamdaSubscription aSubscription = new MamdaSubscription(); MamdaFundamentalListener aFundamentalListener = new MamdaFundamentalListener(); FundamentalTicker aTicker = new FundamentalTicker(); aFundamentalListener.addHandler(aTicker); aSubscription.addMsgListener(aFundamentalListener); aSubscription.addStaleListener(aTicker); aSubscription.addErrorListener(aTicker); aSubscription.create( transport, Mama.getDefaultQueue(mBridge), options.getSource(), symbol, null); theLogger.fine("Subscribed to: " + symbol); } Mama.start(mBridge); Thread.currentThread().join(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } }
/** Reset the dictionary for security status update fields. */ public static void reset() { if (MamdaCommonFields.isSet()) { MamdaCommonFields.reset(); } SRC_TIME = null; ACTIVITY_TIME = null; SEND_TIME = null; LINE_TIME = null; SECURITY_STATUS = null; SECURITY_STATUS_QUAL = null; SECURITY_STATUS_TIME = null; SECURITY_STATUS_ORIG = null; SHORT_SALE_CIRCUIT_BREAKER = null; SEQNUM = null; PART_ID = null; SYMBOL = null; ISSUE_SYMBOL = null; REASON = null; LULDINDICATOR = null; LULDTIME = null; MAX_FID = 0; initialised = false; }