WorkerManager implements ApplicationListener, EndExecutionCallback, WorkerRecoveryListener { protected static String resolveDotNetVersion() { File dotNetHome = new File(DOTNET_PATH); if (dotNetHome.isDirectory()) { File[] versionFolders = dotNetHome.listFiles(new FileFilter() { @Override public boolean accept(File file) { return file.isDirectory() && file.getName().startsWith("v"); } }); if (!ArrayUtils.isEmpty(versionFolders)) { String maxVersion = max(versionFolders, on(File.class).getName()).substring(1); return maxVersion.substring(0, 1) + ".x"; } } return "N/A"; }  void addExecution(long executionId, Runnable runnable); @Override void endExecution(long executionId); int getInBufferSize(); @SuppressWarnings("unused") // Scheduled in scoreWorkerSchedulerContext.xml void interruptCanceledExecutions(); @SuppressWarnings("unused") // Scheduled in xml void workerKeepAlive(); @SuppressWarnings("unused") // called by scheduler void logStatistics(); String getWorkerUuid(); int getRunningTasksCount(); int getExecutionThreadsCount(); @Override void onApplicationEvent(final ApplicationEvent applicationEvent); boolean isUp(); synchronized boolean isFromCurrentThreadPool(String threadName); void doRecovery();  }
@Test public void testResolveDotnetVersion() { String version = WorkerManager.resolveDotNetVersion(); System.out.println("Dotnet version is: " + version); assertThat(version).isNotEmpty(); }