remove SynchronizedSigar
This commit is contained in:
parent
79c01a041b
commit
c94556a2e0
@ -139,17 +139,6 @@ public class Sigar implements SigarProxy {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method to keep a sigar instance alive.
|
||||
* This instance is safe to share between threads.
|
||||
*/
|
||||
public static synchronized SigarProxy getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new SynchronizedSigar();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
protected void finalize() {
|
||||
close();
|
||||
}
|
||||
|
@ -1,367 +0,0 @@
|
||||
package net.hyperic.sigar;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Safely share a single Sigar instance between multiple threads.
|
||||
* The Sigar object is thread-safe given that each thread has its
|
||||
* own Sigar instance. In order to share a single Sigar instance
|
||||
* the methods implemented here are synchronized. All data returned
|
||||
* by the Sigar methods is read-only and hence thread-safe.
|
||||
*/
|
||||
public class SynchronizedSigar implements SigarProxy {
|
||||
|
||||
private Sigar sigar;
|
||||
|
||||
public SynchronizedSigar() {
|
||||
this.sigar = new Sigar();
|
||||
}
|
||||
|
||||
public synchronized long getPid()
|
||||
{
|
||||
return this.sigar.getPid();
|
||||
}
|
||||
|
||||
public synchronized long getServicePid(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getServicePid(name);
|
||||
}
|
||||
|
||||
public synchronized Mem getMem()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getMem();
|
||||
}
|
||||
|
||||
public synchronized Swap getSwap()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getSwap();
|
||||
}
|
||||
|
||||
public synchronized Cpu getCpu()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getCpu();
|
||||
}
|
||||
|
||||
public synchronized CpuPerc getCpuPerc()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getCpuPerc();
|
||||
}
|
||||
|
||||
public synchronized Uptime getUptime()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getUptime();
|
||||
}
|
||||
|
||||
public synchronized ResourceLimit getResourceLimit()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getResourceLimit();
|
||||
}
|
||||
|
||||
public synchronized double[] getLoadAverage()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getLoadAverage();
|
||||
}
|
||||
|
||||
public synchronized long[] getProcList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcList();
|
||||
}
|
||||
|
||||
public synchronized ProcStat getProcStat()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcStat();
|
||||
}
|
||||
|
||||
public synchronized ProcMem getProcMem(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcMem(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcMem getProcMem(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcMem(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcState getProcState(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcState(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcState getProcState(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcState(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcTime getProcTime(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcTime(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcTime getProcTime(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcTime(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcCpu getProcCpu(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCpu(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcCpu getProcCpu(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCpu(pid);
|
||||
}
|
||||
|
||||
public synchronized MultiProcCpu getMultiProcCpu(String query)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getMultiProcCpu(query);
|
||||
}
|
||||
|
||||
public ProcMem getMultiProcMem(String query)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getMultiProcMem(query);
|
||||
}
|
||||
|
||||
public synchronized ProcCred getProcCred(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCred(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcCred getProcCred(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCred(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcCredName getProcCredName(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCredName(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcCredName getProcCredName(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcCredName(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcFd getProcFd(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcFd(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcFd getProcFd(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcFd(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcExe getProcExe(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcExe(pid);
|
||||
}
|
||||
|
||||
public synchronized ProcExe getProcExe(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcExe(pid);
|
||||
}
|
||||
|
||||
public synchronized String[] getProcArgs(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcArgs(pid);
|
||||
}
|
||||
|
||||
public synchronized String[] getProcArgs(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcArgs(pid);
|
||||
}
|
||||
|
||||
public synchronized Map getProcEnv(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcEnv(pid);
|
||||
}
|
||||
|
||||
public synchronized Map getProcEnv(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcEnv(pid);
|
||||
}
|
||||
|
||||
public synchronized String getProcEnv(long pid, String key)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcEnv(pid, key);
|
||||
}
|
||||
|
||||
public synchronized String getProcEnv(String pid, String key)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcEnv(pid, key);
|
||||
}
|
||||
|
||||
public synchronized List getProcModules(long pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcModules(pid);
|
||||
}
|
||||
|
||||
public synchronized List getProcModules(String pid)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcModules(pid);
|
||||
}
|
||||
|
||||
public synchronized long getProcPort(int protocol, long port)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcPort(protocol, port);
|
||||
}
|
||||
|
||||
public synchronized long getProcPort(String protocol, String port)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getProcPort(protocol, port);
|
||||
}
|
||||
|
||||
public synchronized FileSystem[] getFileSystemList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getFileSystemList();
|
||||
}
|
||||
|
||||
public synchronized FileSystemMap getFileSystemMap()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getFileSystemMap();
|
||||
}
|
||||
|
||||
public synchronized FileSystemUsage getMountedFileSystemUsage(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getMountedFileSystemUsage(name);
|
||||
}
|
||||
|
||||
public synchronized FileSystemUsage getFileSystemUsage(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getFileSystemUsage(name);
|
||||
}
|
||||
|
||||
public synchronized FileInfo getFileInfo(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getFileInfo(name);
|
||||
}
|
||||
|
||||
public synchronized FileInfo getLinkInfo(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getLinkInfo(name);
|
||||
}
|
||||
|
||||
public synchronized DirStat getDirStat(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getDirStat(name);
|
||||
}
|
||||
|
||||
public synchronized DirUsage getDirUsage(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getDirUsage(name);
|
||||
}
|
||||
|
||||
public synchronized CpuInfo[] getCpuInfoList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getCpuInfoList();
|
||||
}
|
||||
|
||||
public synchronized Cpu[] getCpuList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getCpuList();
|
||||
}
|
||||
|
||||
public synchronized CpuPerc[] getCpuPercList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getCpuPercList();
|
||||
}
|
||||
|
||||
public synchronized NetRoute[] getNetRouteList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getNetRouteList();
|
||||
}
|
||||
|
||||
public synchronized NetInterfaceConfig getNetInterfaceConfig(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getNetInterfaceConfig(name);
|
||||
}
|
||||
|
||||
public synchronized NetInterfaceStat getNetInterfaceStat(String name)
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getNetInterfaceStat(name);
|
||||
}
|
||||
|
||||
public synchronized String[] getNetInterfaceList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getNetInterfaceList();
|
||||
}
|
||||
|
||||
public synchronized NetStat getNetStat()
|
||||
throws SigarException
|
||||
{
|
||||
return new NetStat(this.sigar);
|
||||
}
|
||||
|
||||
public synchronized Who[] getWhoList()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getWhoList();
|
||||
}
|
||||
|
||||
public synchronized NetInfo getNetInfo()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getNetInfo();
|
||||
}
|
||||
|
||||
public synchronized String getFQDN()
|
||||
throws SigarException
|
||||
{
|
||||
return this.sigar.getFQDN();
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package net.hyperic.sigar;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class SynchronizedSigarProxyCache
|
||||
extends SigarProxyCache {
|
||||
|
||||
private static Object lock = new Object();
|
||||
private static SigarProxy instance = null;
|
||||
|
||||
public static SigarProxy getInstance()
|
||||
throws SigarException {
|
||||
|
||||
synchronized (lock) {
|
||||
if (instance == null) {
|
||||
instance = SigarProxyCache.newInstance(new Sigar());
|
||||
}
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
public SynchronizedSigarProxyCache(Sigar sigar, int expire) {
|
||||
super(sigar, expire);
|
||||
}
|
||||
|
||||
//all Objects returned are read-only.
|
||||
public synchronized Object invoke(Object proxy, Method method, Object[] args)
|
||||
throws SigarException, SigarNotImplementedException {
|
||||
|
||||
return super.invoke(proxy, method, args);
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package net.hyperic.sigar.test;
|
||||
|
||||
import net.hyperic.sigar.Sigar;
|
||||
import net.hyperic.sigar.SigarException;
|
||||
|
||||
public class TestInstance extends SigarTestCase {
|
||||
|
||||
public TestInstance(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
public void testCreate() throws Exception {
|
||||
String fqdn = Sigar.getInstance().getFQDN();
|
||||
traceln("\nfqdn=" + fqdn);
|
||||
|
||||
assertTrue(true);
|
||||
|
||||
Sigar sigar = new Sigar();
|
||||
sigar.close();
|
||||
|
||||
try {
|
||||
sigar.getFQDN();
|
||||
//sigar has been closed so we should not get this far.
|
||||
assertTrue(false);
|
||||
} catch (SigarException e) {
|
||||
assertTrue(true);
|
||||
traceln(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user