protected final void doStart ( Collection < ? extends Location > locations ) { ServiceStateLogic . setExpectedState ( this , Lifecycle . STARTING ) ; try { preStart ( ) ; driver . start ( ) ; log . info ( "Entity {} was started with driver {}" , new Object [ ] { this , driver } ) ; postDriverStart ( ) ; connectSensors ( ) ; postStart ( ) ; ServiceStateLogic . setExpectedState ( this , Lifecycle . RUNNING ) ; } catch ( Throwable t ) { ServiceStateLogic . setExpectedState ( this , Lifecycle . ON_FIRE ) ; log . error ( "Error error starting entity {}" , this ) ; throw Exceptions . propagate ( t ) ; } }
It is a temporal method . It will be contains the start effector body . It will be moved to LifeCycle class based on Task . It is the first approach . It does not start the entity children .