remove SynchronizedSigar

This commit is contained in:
Doug MacEachern 2006-01-23 05:04:16 +00:00
parent 79c01a041b
commit c94556a2e0
4 changed files with 0 additions and 441 deletions

View File

@ -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();
}

View File

@ -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();
}
}

View File

@ -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);
}
}

View File

@ -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());
}
}
}