You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2001/04/21 20:28:44 UTC
cvs commit: jakarta-tomcat/src/admin/contextAdmin restart.jsp threadList.jsp
costin 01/04/21 11:28:44
Added: src/admin/WEB-INF/classes/tadm ThreadAdmin.java
src/admin/contextAdmin restart.jsp threadList.jsp
Log:
Some more admin pages, showing threads and for "soft" restart ( to test threads
are cleaned up on shutdown - all modules must be reviewed for resource leaks
on shutdown ).
Of course, the admin is still looking bad - it's not difficult to add some nice
html, but the intention is to start a small revolution after 3.3 is done and
separate the ui from the (trusted ) admin.
Revision Changes Path
1.1 jakarta-tomcat/src/admin/WEB-INF/classes/tadm/ThreadAdmin.java
Index: ThreadAdmin.java
===================================================================
package tadm;
import java.util.Vector;
import java.util.Enumeration;
import java.io.*;
import java.net.URL;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
/**
*
*/
public class ThreadAdmin extends TagSupport {
public ThreadAdmin() {}
public int doStartTag() throws JspException {
return EVAL_BODY_INCLUDE;
}
public int doEndTag() throws JspException {
return EVAL_PAGE;
}
// -------------------- Implementation --------------------
public static Thread[] findThreads() {
Thread thr=Thread.currentThread();
ThreadGroup tg=thr.getThreadGroup();
while( tg.getParent() != null ) {
tg=tg.getParent();
}
// tg is now the top thread group
int count=tg.activeGroupCount() + 5;
ThreadGroup childs[] = new ThreadGroup[count];
int tcount=tg.activeCount() + 5;
Thread threads[]=new Thread[tcount];
int realC=tg.enumerate( threads, true );
Thread realThreads[]=new Thread[realC ];
System.arraycopy( threads, 0, realThreads, 0, realC );
return realThreads;
}
}
1.1 jakarta-tomcat/src/admin/contextAdmin/restart.jsp
Index: restart.jsp
===================================================================
<html>
<%@ taglib uri="http://jakarta.apache.org/taglibs/tomcat_admin-1.0"
prefix="adm" %>
<%@ page buffer="none" %>
<!--
Copyright (c) 1999 The Apache Software Foundation. All rights
reserved.
-->
<head>
<title>Context list</title>
</head>
<body bgcolor="white">
<adm:admin/>
<h2>Prepare to restart</h2>
<%
try {
cm.stop(); // all contexts stopped
cm.shutdown(); // all contexts removed
cm.init();
cm.start();
} catch(Exception ex) {
ex.printStackTrace();
}
System.out.println("Done restarting ");
%>
<h1>Server restarted </h1>
</body>
</html>
1.1 jakarta-tomcat/src/admin/contextAdmin/threadList.jsp
Index: threadList.jsp
===================================================================
<html>
<%@ taglib uri="http://jakarta.apache.org/taglibs/tomcat_admin-1.0"
prefix="adm" %>
<!--
Copyright (c) 1999 The Apache Software Foundation. All rights
reserved.
-->
<head>
<title>Context list</title>
</head>
<body bgcolor="white">
<adm:admin/>
<h3>Threads</h3>
<table>
<adm:iterate name="th"
array="<%= tadm.ThreadAdmin.findThreads() %>"
type="java.lang.Thread" >
<tr>
<td><%= th.getName() %></td>
<td><%= th.getThreadGroup().getName() %></td>
</tr>
</adm:iterate>
</table>
</body>
</html>