public ServerState(final ServerLauncher launcher, final Status status) { this(status, launcher.statusMessage, System.currentTimeMillis(), launcher.getId(), identifyPid(), ManagementFactory.getRuntimeMXBean().getUptime(), launcher.getWorkingDirectory(), ManagementFactory.getRuntimeMXBean().getInputArguments(), System.getProperty("java.class.path"), GemFireVersion.getGemFireVersion(), System.getProperty("java.version"), getServerLogFileCanonicalPath(launcher), getServerBindAddressAsString(launcher), getServerPortAsString(launcher), launcher.getMemberName()); }
private static String getServerLocation(ServerLauncher launcher) { if (launcher.getServerPort() == null) { return launcher.getId(); } if (launcher.getServerBindAddress() == null) { return HostUtils.getLocatorId(HostUtils.getLocalHost(), launcher.getServerPort()); } return HostUtils.getServerId(launcher.getServerBindAddress().getCanonicalHostName(), launcher.getServerPort()); }
@Test public void canBeMocked() throws IOException { ServerLauncher launcher = mock(ServerLauncher.class); Cache cache = mock(Cache.class); CacheConfig cacheConfig = mock(CacheConfig.class); when(launcher.getCache()).thenReturn(cache); when(launcher.getCacheConfig()).thenReturn(cacheConfig); when(launcher.getId()).thenReturn("ID"); when(launcher.isWaiting(eq(cache))).thenReturn(true); when(launcher.isHelping()).thenReturn(true); launcher.startCacheServer(cache); verify(launcher, times(1)).startCacheServer(cache); assertThat(launcher.getCache()).isSameAs(cache); assertThat(launcher.getCacheConfig()).isSameAs(cacheConfig); assertThat(launcher.getId()).isSameAs("ID"); assertThat(launcher.isWaiting(cache)).isTrue(); assertThat(launcher.isHelping()).isTrue(); }
debug("Running Server on (%1$s) in (%2$s) as (%3$s)...", getId(), getWorkingDirectory(), getMember()); this.running.set(true); throw new RuntimeException( String.format("An IO error occurred while starting a %s in %s on %s: %s", getServiceName(), getWorkingDirectory(), getId(), e.getMessage()), e); } catch (FileAlreadyExistsException e) { throw new RuntimeException( String.format("A PID file already exists and a %s may be running in %s on %s.", getServiceName(), getWorkingDirectory(), getId()), e); } catch (PidUnavailableException e) { throw new RuntimeException( String.format("The process ID could not be determined while starting %s %s in %s: %s", getServiceName(), getId(), getWorkingDirectory(), e.getMessage()), e); } catch (RuntimeException | Error e) { throw new IllegalStateException( String.format("A %s is already running in %s on %s.", getServiceName(), getWorkingDirectory(), getId()));