1 package com.knowgate.jdc; 2 3 import java.util.ArrayList ; 4 import java.sql.DriverManager ; 5 import java.sql.Connection ; 6 import java.sql.SQLException ; 7 import java.sql.Statement ; 8 import java.sql.ResultSet ; 9 10 14 public class JDCActivityInfo { 15 16 private JDCProcessInfo[] aProcessInfo = null; 17 18 private void pgSqlActivity(Connection oConn) throws SQLException { 19 Statement oStmt; 20 ResultSet oRSet; 21 ArrayList aStats = new ArrayList (); 22 oStmt = oConn.createStatement(); 23 oRSet = oStmt.executeQuery("SELECT datid,datname,procpid,usesysid,usename,current_query,query_start FROM pg_stat_activity"); 24 while (oRSet.next()) { 25 aStats.add (new JDCProcessInfo(oRSet.getString(1),oRSet.getString(2), 26 oRSet.getString(3),oRSet.getString(4), 27 oRSet.getString(5),oRSet.getString(6), 28 oRSet.getDate(7))); 29 } oRSet.close(); 31 oStmt.close(); 32 final int nProcs = aStats.size(); 33 if (nProcs>0) { 34 aProcessInfo = new JDCProcessInfo[nProcs]; 35 for (int p=0; p<nProcs; p++) { 36 aProcessInfo[p] = (JDCProcessInfo) aStats.get(p); 37 } } } 40 41 public JDCActivityInfo(JDCConnection oConn) throws SQLException { 42 if (oConn.getDataBaseProduct()==JDCConnection.DBMS_POSTGRESQL) { 43 pgSqlActivity(oConn); 44 } } 46 47 public JDCActivityInfo(JDCConnectionPool oPool) 48 throws SQLException ,ClassNotFoundException { 49 JDCConnection oConn = oPool.getConnection("activity_info"); 52 if (oConn.getDataBaseProduct()==JDCConnection.DBMS_POSTGRESQL) { 53 pgSqlActivity(oConn); 54 } oConn.close(); 56 } 57 58 public JDCProcessInfo[] processesInfo() { 59 return aProcessInfo; 60 } 61 62 } 63 | Popular Tags |