Author: kevinshen
Date: 2009-11-17 04:13:57 +0100 (Tue, 17 Nov 2009)
New Revision: 39727
Added:
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/sql/ShowDatabaseProcessList.java
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/webapp/editors/maintenance/showdbprocesslist.jsp
Log:
CMSC-1583 Add maintenance script to see the processlist of MySQL
Added:
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/sql/ShowDatabaseProcessList.java
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/sql/ShowDatabaseProcessList.java
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/sql/ShowDatabaseProcessList.java
2009-11-17 03:13:57 UTC (rev 39727)
@@ -0,0 +1,41 @@
+package com.finalist.cmsc.maintenance.sql;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.mmbase.bridge.BridgeException;
+
+import com.finalist.cmsc.sql.SqlAction;
+
+public class ShowDatabaseProcessList extends SqlAction {
+
+ private Map<Integer,List> map;
+ public ShowDatabaseProcessList(Map map) {
+ this.map = map;
+ }
+ @Override
+ public String getSql() {
+ return "show processlist;";
+ }
+
+ @Override
+ public String process(ResultSet rs) throws BridgeException, SQLException {
+ while(rs.next()) {
+ List record = new ArrayList();
+ record.add(rs.getInt("Id"));
+ record.add(rs.getString("User"));
+ record.add(rs.getString("Host"));
+ record.add(rs.getString("db"));
+ record.add(rs.getString("Command"));
+ record.add(rs.getLong("Time"));
+ record.add(rs.getString("State"));
+ record.add(rs.getString("Info"));
+ map.put(rs.getInt("Id"), record);
+ }
+ return null;
+ }
+
+}
Added:
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/webapp/editors/maintenance/showdbprocesslist.jsp
===================================================================
---
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/webapp/editors/maintenance/showdbprocesslist.jsp
(rev 0)
+++
CMSContainer/trunk/CMSContainer/cmsc/maintenance/src/webapp/editors/maintenance/showdbprocesslist.jsp
2009-11-17 03:13:57 UTC (rev 39727)
@@ -0,0 +1,51 @@
+<%...@page language="java" contentType="text/html;charset=UTF-8"
+%><%...@include file="globals.jsp"
+%><%@ page import="com.finalist.cmsc.maintenance.sql.*"
+%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/transitional.dtd">
+<html xmlns="http://www.w3.org/TR/xhtml">
+<head>
+<title>Show process list of MMBase database.</title>
+<meta http-equiv="pragma" value="no-cache" />
+<meta http-equiv="expires" value="0" />
+<link href="../style.css" type="text/css" rel="stylesheet"/>
+</head>
+ <body>
+ <h2>Show process list of MMBase database.</h2>
+ <mm:cloud jspvar="cloud" loginpage="../editors/login.jsp"
rank="administrator">
+ <mm:log jspvar="log">
+ <form method="post">
+ <input type="hidden" name="action" value="check"/>
+ <input type="submit" name="action" value="Check"/>
+ </form>
+
+ <mm:import externid="action"/>
+ <mm:present referid="action">
+ <%
+ Map<Integer,List> results = new HashMap<Integer,List>();
+
+ new SqlExecutor().execute(new
ShowDatabaseProcessList(results));
+ pageContext.setAttribute("results", results);
+ %>
+ <c:if test="${fn:length(results) > 0}">
+ <p>Processes List :</p>
+ <table border="1px">
+
<tr><th>Id</th><th>User</th><th>Host</th><th>db</th><th>Command</th><th>Time</th><th>State</th><th>Info</th></tr>
+<c:forEach var="entry" items="${results}">
+<tr >
+<c:forEach var="value" items='${entry.value}'>
+<td>
+${value}
+</td>
+</c:forEach>
+</tr>
+</c:forEach>
+</table>
+ </c:if>
+ <c:if test="${fn:length(results) == 0}">
+ No process.
+ </c:if>
+ </mm:present>
+
+</mm:log>
+</mm:cloud>
+</body>
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs