public Set < String > getServerFeatures ( ) { ServerTask serverTask = runningServer . get ( ) ; try { if ( serverTask != null ) return serverTask . getServerFeatures ( ) ; } catch ( InterruptedException e ) { // nothing to do here, we couldn't get the results from the server } return Collections . emptySet ( ) ; }
The feature gather operation needs to launch the server far enough for it to read config and figure out all of the features that would be loaded . It doesn t actually start any of those features but it needs to get far enough to evaluate the full feature set including features and auto - features that are part of Liberty or are provided by product extensions .