/** * Validate and start the object. */ @PostConstruct public void start() { for(ModuleDescriptor moduleDescriptor : createModules) { ModuleURN instanceUrn; if(moduleDescriptor.getParameters().isEmpty()) { instanceUrn = moduleManager.createModule(moduleDescriptor.getModuleProviderUrn()); } else { instanceUrn = moduleManager.createModule(moduleDescriptor.getModuleProviderUrn(), moduleDescriptor.getParameters()); } createdInstances.add(instanceUrn); } for(ModuleDescriptor moduleUrn : startModules) { moduleManager.start(moduleUrn.getModuleInstanceUrn()); } for(List<DataRequest> dataRequest : dataRequests) { dataFlowIds.add(moduleManager.createDataFlow(dataRequest.toArray(new DataRequest[dataRequest.size()]))); } } /**
/** * Start the given provider if necessary. * * @param inProviderUrn a <code>ModuleURN</code> value */ private void startProviderIfNecessary(ModuleURN inProviderUrn) { ModuleManager moduleManager = ModuleManager.getInstance(); ModuleInfo moduleInfo = moduleManager.getModuleInfo(inProviderUrn); SLF4JLoggerProxy.debug(this, "{} is {}", inProviderUrn, moduleInfo); if(!moduleInfo.getState().isStarted()) { moduleManager.start(inProviderUrn); } } /**
/** * Gets the instances for the given provider URN. * * @param inProvider a <code>ModuleURN</code> value * @return a <code>List<ModuleURN</code> value */ private List<ModuleURN> doGetInstances(ModuleURN inProvider) { return mManager.getModuleInstances(inProvider); } /**
/** * Get a <code>HeadwaterInstance</code> instance, creating it if necessary. * * @param inInstanceName a <code>String</code> value * @return a <code>HeadwaterModule</code> value */ public static HeadwaterModule getInstance(String inInstanceName) { synchronized(instances) { if(instances.containsKey(inInstanceName)) { return instances.get(inInstanceName); } else { ModuleManager moduleManager = ModuleManager.getInstance(); moduleManager.createModule(HeadwaterModuleFactory.PROVIDER_URN, inInstanceName); return instances.get(inInstanceName); } } } /**
/** * Stop the object. */ @PreDestroy public void stop() { for(DataFlowID dataFlowId : dataFlowIds) { try { moduleManager.cancel(dataFlowId); } catch (Exception ignored) {} } dataFlowIds.clear(); for(ModuleDescriptor moduleDescriptor : startModules) { try { moduleManager.stop(moduleDescriptor.getModuleInstanceUrn()); } catch (Exception ignored) {} } for(ModuleURN moduleURN : createdInstances) { try { moduleManager.deleteModule(moduleURN); } catch (Exception ignored) {} createdInstances.clear(); } } /**
cancel(flowID); Module m = getModule(moduleURN); if(m.getState().isStarted()) { stop(moduleURN); stop(urn); unregister(name); for(ModuleURN urn: getModuleInstances(null)) { unregister(urn); for(ModuleURN urn: getProviders()) { unregister(urn);
SLF4JLoggerProxy.debug(this, "No provider requested, issuing request to all providers"); for(ModuleURN providerUrn : ModuleManager.getInstance().getProviders()) { String providerType = providerUrn.providerType(); String providerName = providerUrn.providerName(); if(providerType.equals("mdata") && !providerName.equals(MarketDataManagerModuleFactory.PROVIDER_NAME)) { for(ModuleURN instanceUrn : ModuleManager.getInstance().getModuleInstances(providerUrn)) { try { doDataRequest(inRequest,
Module module; ModuleFactory factory = getModuleFactory(inProviderURN); List<ModuleURN> urns = getModuleInstances(inProviderURN); if(!urns.isEmpty()) { throw new ModuleCreationException(new I18NBoundMessage2P( for(Class<?> c: paramTypes) { if(inParameters[i] != null && !c.isInstance(inParameters[i]) && !isPrimitiveMatch(c, inParameters[i])) { throw new ModuleCreationException(new I18NBoundMessage4P( Messages.CANNOT_CREATE_MODULE_WRONG_PARAM_TYPE, module = createModule(factory, inParameters); return module;
module = inFactory.create(inParameters); } else { List<ModuleURN> urns = getModuleInstances(inFactory.getProviderURN()); if(!urns.isEmpty()) { throw new ModuleCreationException(new I18NBoundMessage2P( if(isMXBean(module)) { ObjectName objectName = registerMXBean(urn, module); Messages.LOG_REGISTERED_MODULE_BEAN.info(this, urn, objectName); initializeDefaultValues(urn,objectName); initDefaultValuesFailed = false; } finally { unregister(objectName); } catch (JMException e) { SLF4JLoggerProxy.debug(this, e, startModule(module);
if(isMXBean(inFactory)) { boolean mBeanOpsFailed = true; try { ObjectName objectName = registerMXBean(urn, inFactory); Messages.LOG_REGISTERED_FACTORY_BEAN.info(this, urn, objectName); initializeDefaultValues(urn, objectName); initDefaultValueFailed = false; } finally { if(initDefaultValueFailed) { try { unregister(objectName); } catch (JMException e) { SLF4JLoggerProxy.debug(this, e, createModule(inFactory);
if(useModule) { ModuleURN instanceUrn = new ModuleURN("metc:mdata:" + moduleName+":single"); ModuleInfo moduleInfo = moduleManager.getModuleInfo(instanceUrn); if(!moduleInfo.getState().isStarted()) { moduleManager.start(instanceUrn);
try { for(ModuleFactory factory: mLoader) { initialize(factory); ((SinkModule)getModule(SinkModuleFactory.INSTANCE_URN)).setManager(this); registerMXBean(new ModuleManagerMXBeanImpl(this), new ObjectName(MODULE_MBEAN_NAME)); failed = false; if(failed) { try { stop(); } catch(Exception e) { Messages.ERROR_CLEANING_UP_INIT_FAILURE.error(this, e);
ModuleManager.getInstance() == null ? StrategyModule.class.getClassLoader() : ModuleManager.getInstance().getClassLoader());
ModuleFactory factory = getModuleFactory(providerURN); return createModule(providerURN, params);
@Override public void start(String inModuleURN) { try { mManager.start(toModuleURN(inModuleURN)); } catch (I18NException e) { throw transformFailure(e); } }
/** * Gets module info for the given URN. * * @param inInstance a <code>ModuleURN</code> value * @return a <code>ModuleInfo</code> value */ private ModuleInfo doGetModuleInfo(ModuleURN inInstance) { failOnNullURN(inInstance); return mManager.getModuleInfo(inInstance); } /**
/** * Gets the list of providers. * * @return a <code>List<ModuleURN</code> value */ private List<ModuleURN> doGetProviders() { return mManager.getProviders(); } /**
@Override protected Void call(ClientContext context, SessionHolder<ClientSession> sessionHolder) throws Exception { failOnNullURN(inURN); failIfNotStrategy(inURN, Messages.DELETE_MODULE_NOT_STRATEGY); mManager.deleteModule(inURN); //Remove the strategy create parameter value. mStrategies.remove(inURN); return null; } }.execute(inCtx);
inFlowID); try { stopModule(inModule); deleteModule(inModule.getURN()); } catch (Exception e) { Messages.LOG_DELETE_AUTO_CREATED_MODULE_FAIL.warn(this,
ModuleURN urn = null; try { urn = mManager.createModule(STRATEGY_PROVIDER, inParameters.getInstanceName(), inParameters.getStrategyName(),