@Override public void safeStop() { try { getDaemonEndpoint().sendMessage( StopMessage.builder() .reasonPhrase( "User Request" ) .safeStop( true ) .build() ); //stopped but still running will yield status Halting getSteps().stream().map( stepMetaDataCombi -> stepMetaDataCombi.step ) .filter( stepInterface -> stepInterface.getInputRowSets().isEmpty() ) .forEach( step -> step.setStopped( true ) ); Executors.newSingleThreadExecutor().submit( () -> { waitUntilFinished(); finishProcess( true ); } ); } catch ( KettleException e ) { getLogChannel().logDebug( e.getMessage(), e ); } }
.forEach( step -> step.setRunning( true ) ); adapter.safeStop(); StopMessage.builder() .reasonPhrase( "User Request" ) .safeStop( true )