protected virtual void DoInitApplication() { ExecutionContext.__SetApplicationLevelContext(this, null, null, NOPSession.Instance); const string FROM = "app.init"; ConfigAttribute.Apply(this, m_ConfigRoot); m_Name = m_ConfigRoot.AttrByName(CONFIG_APP_NAME_ATTR).ValueAsString(GetType().FullName); Debugging.DefaultDebugAction = Debugging.ReadDefaultDebugActionFromConfig(); Debugging.TraceDisabled = Debugging.ReadTraceDisableFromConfig(); var node = m_ConfigRoot[CONFIG_LOG_SECTION]; if (node.Exists) try { m_Log = FactoryUtils.MakeAndConfigure(node, typeof(LogService)) as ILogImplementation; if (m_Log==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "Log made"); BeforeLogStart(m_Log); if (m_Log is Service) { ((Service)m_Log).Start(); WriteLog(MessageType.Info, FROM, "Log started, msg times are localized of machine-local time until time source starts"); } } catch(Exception error) { throw new NFXException(StringConsts.APP_LOG_INIT_ERROR + error); } node = m_ConfigRoot[CONFIG_TIMESOURCE_SECTION]; if (node.Exists) { try { m_TimeSource = FactoryUtils.MakeAndConfigure(node, null) as ITimeSourceImplementation; if (m_TimeSource==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "TimeSource made"); BeforeTimeSourceStart(m_TimeSource); if (m_TimeSource is Service) { ((Service)m_TimeSource).Start(); WriteLog(MessageType.Info, FROM, "TimeSource started"); } WriteLog(MessageType.Info, FROM, "Log msg time is time source-supplied now"); } catch(Exception error) { throw new NFXException(StringConsts.APP_TIMESOURCE_INIT_ERROR + error); } } try { m_StartTime = LocalizedTime; WriteLog(MessageType.Info, FROM, "App start time is {0}".Args(m_StartTime)); } catch(Exception error) { throw new NFXException(StringConsts.APP_TIMESOURCE_INIT_ERROR + error); } node = m_ConfigRoot[CONFIG_EVENT_TIMER_SECTION]; //20150827 DKh event timer must allocate even if it is absent in config //// if (node.Exists) { try { m_EventTimer = FactoryUtils.MakeAndConfigure(node, typeof(EventTimer)) as IEventTimerImplementation; if (m_EventTimer==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "EventTimer made"); BeforeEventTimerStart(m_EventTimer); if (m_EventTimer is Service) { ((Service)m_EventTimer).Start(); WriteLog(MessageType.Info, FROM, "EventTimer started"); } } catch(Exception error) { throw new NFXException(StringConsts.APP_EVENT_TIMER_INIT_ERROR + error); } } node = m_ConfigRoot[CONFIG_SECURITY_SECTION]; if (node.Exists) try { m_SecurityManager = FactoryUtils.MakeAndConfigure(node, typeof(ConfigSecurityManager)) as ISecurityManagerImplementation; if (m_SecurityManager==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "Security Manager made"); BeforeSecurityManagerStart(m_SecurityManager); if (m_SecurityManager is Service) { ((Service)m_SecurityManager).Start(); WriteLog(MessageType.Info, FROM, "Security Manager started"); } } catch (Exception error) { var msg = StringConsts.APP_SECURITY_MANAGER_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } try { Behavior.ApplyConfiguredBehaviors(this, m_ConfigRoot); } catch(Exception error) { var msg = StringConsts.APP_APPLY_BEHAVIORS_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg, error); } node = m_ConfigRoot[CONFIG_INSTRUMENTATION_SECTION]; if (node.Exists) try { m_Instrumentation = FactoryUtils.MakeAndConfigure(node, typeof(InstrumentationService)) as IInstrumentationImplementation; if (m_Instrumentation==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "Instrumentation made"); BeforeInstrumentationStart(m_Instrumentation); if (m_Instrumentation is Service) { ((Service)m_Instrumentation).Start(); WriteLog(MessageType.Info, FROM, "Instrumentation started"); } } catch (Exception error) { var msg = StringConsts.APP_INSTRUMENTATION_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } node = m_ConfigRoot[CONFIG_THROTTLING_SECTION]; if (node.Exists) try { m_Throttling = FactoryUtils.MakeAndConfigure(node, typeof(ThrottlingService)) as IThrottlingImplementation; if (m_Throttling == null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "Throttling made"); BeforeThrottlingStart(m_Throttling); if (m_Throttling is Service) { ((Service)m_Throttling).Start(); WriteLog(MessageType.Info, FROM, "Throttling started"); } } catch (Exception error) { var msg = StringConsts.APP_THROTTLING_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } node = m_ConfigRoot[CONFIG_DATA_STORE_SECTION]; if (node.Exists) try { m_DataStore = FactoryUtils.MakeAndConfigure(node) as IDataStoreImplementation; if (m_DataStore==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "DataStore made"); BeforeDataStoreStart(m_DataStore); if (m_DataStore is Service) { ((Service)m_DataStore).Start(); WriteLog(MessageType.Info, FROM, "DataStore started"); } } catch (Exception error) { var msg = StringConsts.APP_DATA_STORE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } node = m_ConfigRoot[CONFIG_OBJECT_STORE_SECTION]; if (node.Exists) try { m_ObjectStore = FactoryUtils.MakeAndConfigure(node, typeof(ObjectStoreService)) as IObjectStoreImplementation; if (m_ObjectStore==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "ObjectStore made"); BeforeObjectStoreStart(m_ObjectStore); if (m_ObjectStore is Service) { ((Service)m_ObjectStore).Start(); WriteLog(MessageType.Info, FROM, "ObjectStore started"); } } catch (Exception error) { var msg = StringConsts.APP_OBJECT_STORE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } node = m_ConfigRoot[CONFIG_GLUE_SECTION]; if (node.Exists) try { m_Glue = FactoryUtils.MakeAndConfigure(node, typeof(NFX.Glue.Implementation.GlueService)) as IGlueImplementation; if (m_Glue==null) throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); WriteLog(MessageType.Info, FROM, "Glue made"); BeforeGlueStart(m_Glue); if (m_Glue is Service) { ((Service)m_Glue).Start(); WriteLog(MessageType.Info, FROM, "Glue started"); } } catch (Exception error) { var msg = StringConsts.APP_GLUE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } WriteLog(MessageType.Info, FROM, "Common application initialized"); WriteLog(MessageType.Info, FROM, "Time localization information follows"); WriteLog(MessageType.Info, FROM, " Application: " + this.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Log: " + this.Log.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Glue: " + this.Glue.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Instrumentation: " + this.Instrumentation.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " ObjStore: " + this.ObjectStore.TimeLocation.ToString()); }
/// <summary> /// Override to prep time source implementation i.e. inject something programmaticaly /// </summary> protected virtual void BeforeTimeSourceStart(ITimeSourceImplementation timesourceImplementation) { }
protected virtual void DoInitApplication() { const string FROM = "app.init"; ConfigAttribute.Apply(this, m_ConfigRoot); m_Name = m_ConfigRoot.AttrByName(CONFIG_APP_NAME_ATTR).ValueAsString(GetType().FullName); Debugging.DefaultDebugAction = Debugging.ReadDefaultDebugActionFromConfig(); Debugging.TraceDisabled = Debugging.ReadTraceDisableFromConfig(); var node = m_ConfigRoot[CONFIG_LOG_SECTION]; if (node.Exists) { try { m_Log = FactoryUtils.MakeAndConfigure(node, typeof(LogService)) as ILogImplementation; if (m_Log == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Log made"); BeforeLogStart(m_Log); if (m_Log is Service) { if (((Service)m_Log).StartByApplication()) { WriteLog(MessageType.Info, FROM, "Log started, msg times are localized of machine-local time until time source starts"); } } } catch (Exception error) { throw new NFXException(StringConsts.APP_LOG_INIT_ERROR + error.ToMessageWithType(), error); } } node = m_ConfigRoot[CONFIG_TIMESOURCE_SECTION]; if (node.Exists) { try { m_TimeSource = FactoryUtils.MakeAndConfigure(node, null) as ITimeSourceImplementation; if (m_TimeSource == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "TimeSource made"); BeforeTimeSourceStart(m_TimeSource); if (m_TimeSource is Service) { if (((Service)m_TimeSource).StartByApplication()) { WriteLog(MessageType.Info, FROM, "TimeSource started"); } } WriteLog(MessageType.Info, FROM, "Log msg time is time source-supplied now"); m_StartTime = LocalizedTime; WriteLog(MessageType.Info, FROM, "App start time is {0}".Args(m_StartTime)); } catch (Exception error) { var msg = StringConsts.APP_TIMESOURCE_INIT_ERROR + error.ToMessageWithType(); WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } else { WriteLog(MessageType.Info, FROM, "Using default time source"); m_StartTime = LocalizedTime; WriteLog(MessageType.Info, FROM, "App start time is {0}".Args(m_StartTime)); } node = m_ConfigRoot[CONFIG_EVENT_TIMER_SECTION]; //20150827 DKh event timer must allocate even if it is absent in config //// if (node.Exists) { try { m_EventTimer = FactoryUtils.MakeAndConfigure(node, typeof(EventTimer)) as IEventTimerImplementation; if (m_EventTimer == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "EventTimer made"); BeforeEventTimerStart(m_EventTimer); if (m_EventTimer is Service) { if (((Service)m_EventTimer).StartByApplication()) { WriteLog(MessageType.Info, FROM, "EventTimer started"); } } } catch (Exception error) { var msg = StringConsts.APP_EVENT_TIMER_INIT_ERROR + error.ToMessageWithType(); WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } node = m_ConfigRoot[CONFIG_SECURITY_SECTION]; if (node.Exists) { try { m_SecurityManager = FactoryUtils.MakeAndConfigure(node, typeof(ConfigSecurityManager)) as ISecurityManagerImplementation; if (m_SecurityManager == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Security Manager made"); BeforeSecurityManagerStart(m_SecurityManager); if (m_SecurityManager is Service) { if (((Service)m_SecurityManager).StartByApplication()) { WriteLog(MessageType.Info, FROM, "Security Manager started"); } } } catch (Exception error) { var msg = StringConsts.APP_SECURITY_MANAGER_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } try { Behavior.ApplyConfiguredBehaviors(this, m_ConfigRoot); } catch (Exception error) { var msg = StringConsts.APP_APPLY_BEHAVIORS_ERROR + error; WriteLog(MessageType.Error, FROM, msg, error); throw new NFXException(msg, error); } node = m_ConfigRoot[CONFIG_INSTRUMENTATION_SECTION]; if (node.Exists) { try { m_Instrumentation = FactoryUtils.MakeAndConfigure(node, typeof(InstrumentationService)) as IInstrumentationImplementation; if (m_Instrumentation == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Instrumentation made"); BeforeInstrumentationStart(m_Instrumentation); if (m_Instrumentation is Service) { if (((Service)m_Instrumentation).StartByApplication()) { WriteLog(MessageType.Info, FROM, "Instrumentation started"); } } } catch (Exception error) { var msg = StringConsts.APP_INSTRUMENTATION_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } node = m_ConfigRoot[CONFIG_THROTTLING_SECTION]; if (node.Exists) { try { m_Throttling = FactoryUtils.MakeAndConfigure(node, typeof(ThrottlingService)) as IThrottlingImplementation; if (m_Throttling == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Throttling made"); BeforeThrottlingStart(m_Throttling); if (m_Throttling is Service) { if (((Service)m_Throttling).StartByApplication()) { WriteLog(MessageType.Info, FROM, "Throttling started"); } } } catch (Exception error) { var msg = StringConsts.APP_THROTTLING_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } node = m_ConfigRoot[CONFIG_DATA_STORE_SECTION]; if (node.Exists) { try { m_DataStore = FactoryUtils.MakeAndConfigure(node) as IDataStoreImplementation; if (m_DataStore == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "DataStore made"); BeforeDataStoreStart(m_DataStore); if (m_DataStore is Service) { if (((Service)m_DataStore).StartByApplication()) { WriteLog(MessageType.Info, FROM, "DataStore started"); } } } catch (Exception error) { var msg = StringConsts.APP_DATA_STORE_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } node = m_ConfigRoot[CONFIG_OBJECT_STORE_SECTION]; if (node.Exists) { try { m_ObjectStore = FactoryUtils.MakeAndConfigure(node, typeof(ObjectStoreService)) as IObjectStoreImplementation; if (m_ObjectStore == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "ObjectStore made"); BeforeObjectStoreStart(m_ObjectStore); if (m_ObjectStore is Service) { if (((Service)m_ObjectStore).StartByApplication()) { WriteLog(MessageType.Info, FROM, "ObjectStore started"); } } } catch (Exception error) { var msg = StringConsts.APP_OBJECT_STORE_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } node = m_ConfigRoot[CONFIG_GLUE_SECTION]; if (node.Exists) { try { m_Glue = FactoryUtils.MakeAndConfigure(node, typeof(NFX.Glue.Implementation.GlueService)) as IGlueImplementation; if (m_Glue == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Glue made"); BeforeGlueStart(m_Glue); if (m_Glue is Service) { if (((Service)m_Glue).StartByApplication()) { WriteLog(MessageType.Info, FROM, "Glue started"); } } } catch (Exception error) { var msg = StringConsts.APP_GLUE_INIT_ERROR + error; WriteLog(MessageType.CatastrophicError, FROM, msg, error); throw new NFXException(msg, error); } } WriteLog(MessageType.Info, FROM, "Common application initialized in '{0}' time location".Args(this.TimeLocation)); WriteLog(MessageType.Info, FROM, "Component dump:"); foreach (var cmp in ApplicationComponent.AllComponents) { WriteLog(MessageType.Info, FROM, " -> Component: {0} '{1}' '{2}' ".Args(cmp.ComponentSID, cmp.GetType().FullName, cmp.ComponentCommonName)); } }
protected virtual void DoInitApplication() { ExecutionContext.__SetApplicationLevelContext(this, null, null, NOPSession.Instance); const string FROM = "app.init"; ConfigAttribute.Apply(this, m_ConfigRoot); m_Name = m_ConfigRoot.AttrByName(CONFIG_APP_NAME_ATTR).ValueAsString(GetType().FullName); Debugging.DefaultDebugAction = Debugging.ReadDefaultDebugActionFromConfig(); Debugging.TraceDisabled = Debugging.ReadTraceDisableFromConfig(); var node = m_ConfigRoot[CONFIG_LOG_SECTION]; if (node.Exists) { try { m_Log = FactoryUtils.MakeAndConfigure(node, typeof(LogService)) as ILogImplementation; if (m_Log == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Log made"); BeforeLogStart(m_Log); if (m_Log is Service) { ((Service)m_Log).Start(); WriteLog(MessageType.Info, FROM, "Log started, msg times are localized of machine-local time until time source starts"); } } catch (Exception error) { throw new NFXException(StringConsts.APP_LOG_INIT_ERROR + error); } } node = m_ConfigRoot[CONFIG_TIMESOURCE_SECTION]; if (node.Exists) { try { m_TimeSource = FactoryUtils.MakeAndConfigure(node, null) as ITimeSourceImplementation; if (m_TimeSource == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "TimeSource made"); BeforeTimeSourceStart(m_TimeSource); if (m_TimeSource is Service) { ((Service)m_TimeSource).Start(); WriteLog(MessageType.Info, FROM, "TimeSource started"); } WriteLog(MessageType.Info, FROM, "Log msg time is time source-supplied now"); } catch (Exception error) { throw new NFXException(StringConsts.APP_TIMESOURCE_INIT_ERROR + error); } } try { m_StartTime = LocalizedTime; WriteLog(MessageType.Info, FROM, "App start time is {0}".Args(m_StartTime)); } catch (Exception error) { throw new NFXException(StringConsts.APP_TIMESOURCE_INIT_ERROR + error); } node = m_ConfigRoot[CONFIG_EVENT_TIMER_SECTION]; if (node.Exists) { try { m_EventTimer = FactoryUtils.MakeAndConfigure(node, typeof(EventTimer)) as IEventTimerImplementation; if (m_EventTimer == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "EventTimer made"); BeforeEventTimerStart(m_EventTimer); if (m_EventTimer is Service) { ((Service)m_EventTimer).Start(); WriteLog(MessageType.Info, FROM, "EventTimer started"); } } catch (Exception error) { throw new NFXException(StringConsts.APP_EVENT_TIMER_INIT_ERROR + error); } } node = m_ConfigRoot[CONFIG_SECURITY_SECTION]; if (node.Exists) { try { m_SecurityManager = FactoryUtils.MakeAndConfigure(node, typeof(ConfigSecurityManager)) as ISecurityManagerImplementation; if (m_SecurityManager == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Security Manager made"); BeforeSecurityManagerStart(m_SecurityManager); if (m_SecurityManager is Service) { ((Service)m_SecurityManager).Start(); WriteLog(MessageType.Info, FROM, "Security Manager started"); } } catch (Exception error) { var msg = StringConsts.APP_SECURITY_MANAGER_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } try { Behavior.ApplyConfiguredBehaviors(this, m_ConfigRoot); } catch (Exception error) { var msg = StringConsts.APP_APPLY_BEHAVIORS_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg, error); } node = m_ConfigRoot[CONFIG_INSTRUMENTATION_SECTION]; if (node.Exists) { try { m_Instrumentation = FactoryUtils.MakeAndConfigure(node, typeof(InstrumentationService)) as IInstrumentationImplementation; if (m_Instrumentation == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Instrumentation made"); BeforeInstrumentationStart(m_Instrumentation); if (m_Instrumentation is Service) { ((Service)m_Instrumentation).Start(); WriteLog(MessageType.Info, FROM, "Instrumentation started"); } } catch (Exception error) { var msg = StringConsts.APP_INSTRUMENTATION_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } node = m_ConfigRoot[CONFIG_THROTTLING_SECTION]; if (node.Exists) { try { m_Throttling = FactoryUtils.MakeAndConfigure(node, typeof(ThrottlingService)) as IThrottlingImplementation; if (m_Throttling == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Throttling made"); BeforeThrottlingStart(m_Throttling); if (m_Throttling is Service) { ((Service)m_Throttling).Start(); WriteLog(MessageType.Info, FROM, "Throttling started"); } } catch (Exception error) { var msg = StringConsts.APP_THROTTLING_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } node = m_ConfigRoot[CONFIG_DATA_STORE_SECTION]; if (node.Exists) { try { m_DataStore = FactoryUtils.MakeAndConfigure(node) as IDataStoreImplementation; if (m_DataStore == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "DataStore made"); BeforeDataStoreStart(m_DataStore); if (m_DataStore is Service) { ((Service)m_DataStore).Start(); WriteLog(MessageType.Info, FROM, "DataStore started"); } } catch (Exception error) { var msg = StringConsts.APP_DATA_STORE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } node = m_ConfigRoot[CONFIG_OBJECT_STORE_SECTION]; if (node.Exists) { try { m_ObjectStore = FactoryUtils.MakeAndConfigure(node, typeof(ObjectStoreService)) as IObjectStoreImplementation; if (m_ObjectStore == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "ObjectStore made"); BeforeObjectStoreStart(m_ObjectStore); if (m_ObjectStore is Service) { ((Service)m_ObjectStore).Start(); WriteLog(MessageType.Info, FROM, "ObjectStore started"); } } catch (Exception error) { var msg = StringConsts.APP_OBJECT_STORE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } node = m_ConfigRoot[CONFIG_GLUE_SECTION]; if (node.Exists) { try { m_Glue = FactoryUtils.MakeAndConfigure(node, typeof(NFX.Glue.Implementation.GlueService)) as IGlueImplementation; if (m_Glue == null) { throw new NFXException(StringConsts.APP_INJECTION_TYPE_MISMATCH_ERROR + node .AttrByName(FactoryUtils.CONFIG_TYPE_ATTR) .ValueAsString(CoreConsts.UNKNOWN)); } WriteLog(MessageType.Info, FROM, "Glue made"); BeforeGlueStart(m_Glue); if (m_Glue is Service) { ((Service)m_Glue).Start(); WriteLog(MessageType.Info, FROM, "Glue started"); } } catch (Exception error) { var msg = StringConsts.APP_GLUE_INIT_ERROR + error; WriteLog(MessageType.Error, FROM, msg); throw new NFXException(msg); } } WriteLog(MessageType.Info, FROM, "Common application initialized"); WriteLog(MessageType.Info, FROM, "Time localization information follows"); WriteLog(MessageType.Info, FROM, " Application: " + this.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Log: " + this.Log.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Glue: " + this.Glue.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " Instrumentation: " + this.Instrumentation.TimeLocation.ToString()); WriteLog(MessageType.Info, FROM, " ObjStore: " + this.ObjectStore.TimeLocation.ToString()); }