1 package net.sf.jasperreports.mysql; 2 3 import java.sql.Connection ; 4 import java.sql.ResultSet ; 5 import java.sql.SQLException ; 6 import java.sql.Statement ; 7 8 12 13 public class ProcessListTask extends Task 14 { 15 16 22 public ProcessListTask(Database source, Database destination) 23 { 24 super(source, destination); 25 } 26 27 38 public void run() 39 { 40 try 42 { 43 String currentSource = parent.name; 44 45 Connection userConn = parent.getConnection(); 47 Connection repConn = destination.getConnection(); 48 49 Statement get_processList = userConn.createStatement(); 51 ResultSet ProcessList = get_processList.executeQuery( 52 "SHOW PROCESSLIST;"); 53 54 StringBuffer query = new StringBuffer (256); 63 Statement update = repConn.createStatement(); 64 while (ProcessList.next()) 65 { 66 query.append("INSERT INTO process_list VALUES ('"); 67 query.append(currentSource); 68 query.append("', NOW(), '"); 69 query.append(ProcessList.getString("User")); 70 query.append("', '"); 71 query.append(ProcessList.getString("Host")); 72 query.append("', '"); 73 query.append(ProcessList.getString("db")); 74 query.append("', "); 75 query.append(ProcessList.getInt("Time")); 76 query.append(");"); 77 update.executeUpdate(query.toString()); 78 query.setLength(0); 79 } 80 update.close(); 81 ProcessList.close(); 82 get_processList.close(); 83 } catch (SQLException e) 84 { 85 e.printStackTrace(); 86 System.err.println("Exception: " + e.getMessage()); 87 System.err.println("The processlist task did not complete."); 88 System.exit(1); 89 } 90 } 92 93 } 94 | Popular Tags |