add a service to be run by this applicationlauncher . this method is public because there are certain classes launchers such as azkaban that require the applicationlauncher to extend a pre-defined class . since java classes can not extend multiple classes , composition needs to be used . in which case this method needs to be public . concode_field_sep String DEFAULT_APP_STOP_TIME_SECONDS concode_elem_sep String APP_ADDITIONAL_SERVICES concode_elem_sep String APP_STOP_TIME_SECONDS concode_elem_sep String APP_NAME concode_elem_sep String appId concode_elem_sep Logger LOG concode_elem_sep int stopTime concode_elem_sep boolean hasStarted concode_elem_sep List<Service> services concode_elem_sep boolean hasStopped concode_elem_sep ServiceManager serviceManager concode_field_sep void addServicesFromProperties concode_elem_sep void addInterruptedShutdownHook concode_elem_sep void stop concode_elem_sep void addMetricsService concode_elem_sep void start concode_elem_sep void addJobExecutionServerAndAdminUI concode_elem_sep void close concode_elem_sep void addJMXReportingService
void function ( Service arg0 ) { if ( this . hasStarted ) { throw new IllegalArgumentException ( "srini_string" ) ; } this . services . add ( arg0 ) ; }