// AdminService need to be first one due to RMI timeup issue.
// We need to set securityManager before any runtime.
// So, we put the following assumption in the code below:
// 1) The constructor of AdminServiceLifeCycle will not
// not create any runtime object and cannot access SSL.
// 2) Any LifeCycle should not access SSL in the constructor of
// LifeCycle. This should be done in onInitialization.
String[][] servicesByName = {
{"AdminService",
"com.sun.enterprise.admin.server.core.AdminServiceLifeCycle"},
//Remote JMX (JSR 160) Connector
{"RemoteJmxConnector",
"com.sun.enterprise.admin.server.core.JmxConnectorLifecycle"},
{"SecurityService",
"com.sun.enterprise.security.SecurityLifecycle"},
{"SelfManagement Service",
"com.sun.enterprise.management.selfmanagement.SelfManagementService"},
{"PersistenceManagerService",
"com.sun.jdo.spi.persistence.support.sqlstore.ejb.PersistenceManagerServiceImpl"},
{"JMSProvider",
"com.sun.enterprise.jms.JmsProviderLifecycle"},
{"WSMgmt Service",
"com.sun.enterprise.admin.wsmgmt.lifecycle.AppServWSMgmtAdminLifeCycle"},
{"System Application Service",
"com.sun.enterprise.server.SystemAppLifecycle"},
{"LifecycleModuleService",
"com.sun.appserv.server.LifecycleModuleService"},
{"Application Service",
"com.sun.enterprise.server.ApplicationLifecycle"},
{"Servlet/JSP Service",
"com.sun.enterprise.web.PEWebContainerLifecycle"},
{"DeclarativeLifecycleEventService",
"com.sun.enterprise.admin.selfmanagement.event.DeclarativeLifecycleEventService"},
};
return servicesByName;