private async Task bootstrap() { // Build up the message handlers await Handlers.Compiling; Handlers.Compile(Options.Advanced.CodeGeneration, _container); // If set, use pre-generated message handlers for quicker starts if (Options.Advanced.CodeGeneration.TypeLoadMode == TypeLoadMode.LoadFromPreBuiltAssembly) { await _container.GetInstance <DynamicCodeBuilder>().LoadPrebuiltTypes(); } // Start all the listeners and senders Runtime.As <TransportRuntime>().Initialize(); ScheduledJobs = new InMemoryScheduledJobProcessor((IWorkerQueue)Runtime.AgentForLocalQueue(TransportConstants.Replies)); switch (Settings.StorageProvisioning) { case StorageProvisioning.Rebuild: Persistence.Admin.RebuildSchemaObjects(); break; case StorageProvisioning.Clear: Persistence.Admin.ClearAllPersistedEnvelopes(); break; } await startDurabilityAgent(); }