/** * Reads the GemFire JMX Agent's status from the status file (.agent.ser) in it's working * directory. * * <p> * * @return a Status object containing the state persisted to the .agent.ser file in the working * directory and representing the status of the Agent * @throws IOException if the status file was unable to be read. * @throws RuntimeException if the class of the object written to the .agent.ser file is not of * type Status. */ protected Status readStatus() throws IOException { FileInputStream fileIn = null; ObjectInputStream objectIn = null; try { fileIn = new FileInputStream(new File(workingDirectory, statusFileName)); objectIn = new ObjectInputStream(fileIn); this.status = (Status) objectIn.readObject(); return this.status; } catch (ClassNotFoundException e) { throw new RuntimeException(e); } finally { IOUtils.close(objectIn); IOUtils.close(fileIn); } }
/** * Sets the status of the GemFire JMX Agent by serializing a <code>Status</code> object to a * status file in the Agent's working directory. * * <p> * * @param status the Status object representing the state of the Agent process to persist to disk. * @return the written Status object. * @throws IOException if the Status could not be successfully persisted to disk. */ public Status writeStatus(final Status status) throws IOException { FileOutputStream fileOut = null; ObjectOutputStream objectOut = null; try { fileOut = new FileOutputStream(new File(workingDirectory, statusFileName)); objectOut = new ObjectOutputStream(fileOut); objectOut.writeObject(status); objectOut.flush(); this.status = status; return this.status; } finally { IOUtils.close(objectOut); IOUtils.close(fileOut); } }
public static int readPid(final File pidFile) throws IOException { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(pidFile)); return Integer.parseInt(reader.readLine()); } finally { IOUtils.close(reader); } }