@GET @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) @XmlElementWrapper(name = "memorystats") @Path("/interval/{timeWindowsInHours}") public List<Memory> loadMemoryStatusInInterval( @PathParam("timeWindowsInHours") int timeWindowsInHours) { Calendar calendar = Calendar.getInstance(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String toDate = df.format(calendar.getTime()); calendar.add(Calendar.HOUR_OF_DAY, -timeWindowsInHours); String fromDate = df.format(calendar.getTime()); Log.trace(toDate, fromDate); List<Memory> memorystats = null; try { IMemoryDAO mdao = DAOFactory.getInstance().getMemoryDAO(); List<MemoryPO> memPOs = mdao.getMemoryStats(toDate, fromDate); memorystats = new ArrayList<Memory>(); for (MemoryPO memPO : memPOs) { Memory memdto = ConverterUtils.convert(memPO); memorystats.add(memdto); } } catch (Exception e) { handleException(e); } finally { Log.exit(memorystats); } return memorystats; }
@DELETE public void deleteMemoryCrumb() { IMemoryDAO mdao = DAOFactory.getInstance().getMemoryDAO(); mdao.deleteMemoryCrumbData(); Log.trace("Memory Crumb cleared"); }
@POST @Path("/stop") public void stopMemoryMonitor() { timeMonitor.cancel(); Log.trace("Memory Monitor Stopped"); }