@Override public synchronized void start() throws EmbeddedRedisException { if (active) { throw new EmbeddedRedisException("This redis server instance is already running..."); } try { redisProcess = createRedisProcessBuilder().start(); logErrors(); awaitRedisServerReady(); active = true; } catch (IOException e) { throw new EmbeddedRedisException("Failed to start Redis instance", e); } }
@Override public synchronized void stop() throws EmbeddedRedisException { if (active) { redisProcess.destroy(); tryWaitFor(); active = false; } }
private void awaitRedisServerReady() throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(redisProcess.getInputStream())); try { String outputLine; do { outputLine = reader.readLine(); if (outputLine == null) { //Something goes wrong. Stream is ended before server was activated. throw new RuntimeException("Can't start redis server. Check logs for details."); } } while (!outputLine.matches(redisReadyPattern())); } finally { closeQuietly(reader); } }
private void awaitRedisServerReady() throws IOException { try (BufferedReader reader = new BufferedReader(new InputStreamReader(redisProcess.getInputStream()))) { String outputLine; do { outputLine = reader.readLine(); if (outputLine == null) { //Something goes wrong. Stream is ended before server was activated. throw new RuntimeException("Can't start redis server. Check logs for details."); } } while (!outputLine.matches(redisReadyPattern())); } }
private void awaitRedisServerReady() throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(redisProcess.getInputStream())); try { String outputLine; do { outputLine = reader.readLine(); if (outputLine == null) { //Something goes wrong. Stream is ended before server was activated. throw new RuntimeException("Can't start redis server. Check logs for details."); } } while (!outputLine.matches(redisReadyPattern())); } finally { IOUtils.closeQuietly(reader); } }
@Override public synchronized void start() throws EmbeddedRedisException { if (active) { throw new EmbeddedRedisException("This redis server instance is already running..."); } try { redisProcess = createRedisProcessBuilder().start(); logErrors(); awaitRedisServerReady(); active = true; } catch (IOException e) { throw new EmbeddedRedisException("Failed to start Redis instance", e); } }
@Override public synchronized void stop() throws EmbeddedRedisException { if (active) { if (executor != null && !executor.isShutdown()) { executor.shutdown(); } redisProcess.destroy(); tryWaitFor(); active = false; } }
@Override public synchronized void start() throws EmbeddedRedisException { if (active) { throw new EmbeddedRedisException("This redis server instance is already running..."); } try { redisProcess = createRedisProcessBuilder().start(); logErrors(); awaitRedisServerReady(); active = true; } catch (IOException e) { throw new EmbeddedRedisException("Failed to start Redis instance", e); } }
@Override public synchronized void stop() throws EmbeddedRedisException { if (active) { if (executor != null && !executor.isShutdown()) { executor.shutdown(); } redisProcess.destroy(); tryWaitFor(); active = false; } }