public bool Start(String serverID) { ViennaServer server = GetServer(serverID); if (server == null) { return(false); } if (server.GetServerThread().IsAlive) { return(true); } try { // replace int index = m_servers.IndexOf(server); server = ViennaServer.Create(server.GetModel()); if (server == null) { m_servers.RemoveAt(index); } else { m_servers[index] = server; } server.Start(); server.SetPriority(ThreadPriority.Normal); Thread.Sleep(0); //yeild other theads of lower priority to run } catch (Exception e) { log.Log(Level.SEVERE, "Server=" + serverID, e); return(false); } log.Info(server.ToString()); //ViennaServerGroup.Get().Dump(); if (server == null) { return(false); } return(server.GetServerThread().IsAlive); } // startIt
private void RequeryAll() { if (m_servers.Count() > 0) { log.Config("Current #" + m_servers.Count()); } // Accounting if (doStartAcctProcessor) { MAcctProcessor[] acctModels = MAcctProcessor.GetActive(m_ctx); for (int i = 0; i < acctModels.Length; i++) { MAcctProcessor pModel = acctModels[i]; ViennaServer server = ViennaServer.Create(pModel); AddServer(server, i); } } //// Request if (doStartRequestProcessor) { MRequestProcessor[] requestModels = MRequestProcessor.GetActive(m_ctx); for (int i = 0; i < requestModels.Length; i++) { MRequestProcessor pModel = requestModels[i]; ViennaServer server = ViennaServer.Create(pModel); AddServer(server, i); } } //// Workflow if (doWorkflowProcessor) { MWorkflowProcessor[] workflowModels = MWorkflowProcessor.GetActive(m_ctx); for (int i = 0; i < workflowModels.Length; i++) { MWorkflowProcessor pModel = workflowModels[i]; ViennaServer server = ViennaServer.Create(pModel); AddServer(server, i); } } //// Alert Process (Notice and send mail) This is a test after exclusion if (doStartAlertProcessor) { MAlertProcessor[] alertModels = MAlertProcessor.GetActive(m_ctx); for (int i = 0; i < alertModels.Length; i++) { //All Alert processor server to the server list MAlertProcessor pModel = alertModels[i]; ViennaServer server = ViennaServer.Create(pModel); AddServer(server, i); } } //// Scheduler if (doStartScheduler) { MScheduler[] schedulerModels = MScheduler.GetActive(m_ctx); for (int i = 0; i < schedulerModels.Length; i++) { MScheduler pModel = schedulerModels[i]; ViennaServer server = ViennaServer.Create(pModel); AddServer(server, i); } } if (doInvokeService) { AddServer(new InvokeIISServiceProcessor(), 0); } log.Config("#" + m_servers.Count()); } // requeryAll