User: starksm
Date: 01/05/11 12:06:25
Modified: tomcat/src/main/org/jboss/test/tomcat/servlet HelloEJB.java
Added: tomcat/src/main/org/jboss/test/tomcat/servlet
PrintClassLoaders.java
Log:
Updated the tomcat 3.2.1 integration mbean to use the new AbstractWebContainer
mbean and added support for integrated security across web/ejb applications.
Revision Changes Path
1.4 +57 -55
contrib/tomcat/src/main/org/jboss/test/tomcat/servlet/HelloEJB.java
Index: HelloEJB.java
===================================================================
RCS file:
/cvsroot/jboss/contrib/tomcat/src/main/org/jboss/test/tomcat/servlet/HelloEJB.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- HelloEJB.java 2001/04/16 13:52:39 1.3
+++ HelloEJB.java 2001/05/11 19:06:25 1.4
@@ -11,8 +11,8 @@
import org.jboss.test.tomcat.ejb.interfaces.StatelessSessionHome;
import org.jboss.test.tomcat.ejb.interfaces.StatelessSession;
-public class HelloEJB extends HttpServlet {
- Context ctx;
+public class HelloEJB extends HttpServlet
+{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
@@ -30,71 +30,73 @@
out.println("<body>");
out.println("<h1>Servlet calling EJB</h1>");
-
try {
- ctx = new InitialContext();
-
boolean speedTest = "speed".equals(request.getQueryString());
- testBean("NonOptimized", speedTest, out);
- testBean("Optimized", speedTest, out);
-
-
+ boolean trace = "trace".equals(request.getQueryString());
+ testBean("NonOptimized", speedTest, trace, out);
+ testBean("Optimized", speedTest, trace, out);
+ out.println("<pre>Servlet Trace Info:\n");
+ out.println(PrintClassLoaders.getClassLoaders());
+ out.println("<pre>");
} catch (Exception e) {
out.println("Context not found: exception message:<pre>");
e.printStackTrace(out);
out.println("</pre>");
- } finally {
-
out.println("</body>");
out.println("</html>");
}
}
-
-
- private void testBean(String jndiName, boolean speedTest, PrintWriter out) {
- try {
-
+
+ static void testBean(String jndiName, boolean speedTest, boolean trace,
PrintWriter out)
+ throws NamingException
+ {
+ Context ctx = new InitialContext();
+ try
+ {
StatelessSessionHome home =
(StatelessSessionHome)ctx.lookup(jndiName);
StatelessSession bean = home.create();
- out.print("<p>Using jndi name " + jndiName + ":
<tt>getMessage()</tt> returned: \"");
+ out.print("<p>Using jndi name " + jndiName + ":
<tt>getMessage()</tt> returned:");
+ if( trace == false )
out.print(bean.getMessage());
- out.println("\"</p>");
-
- int iter = 1000;
+ else
+ {
+ out.println("<pre>\n");
+ out.print(bean.getMessageAndTrace());
+ out.println("</pre>\n");
+ }
+ out.println("</p>");
- if (speedTest) {
-
- out.println("<p>Speed Test now ("+
iter + " iterations)");
-
- long start =
System.currentTimeMillis();
- long start2 = start;
-
- for (int i = 0 ; i < iter; i++) {
- bean.getMessage();
-
- if (i % 100 == 0 && i != 0) {
- long end =
System.currentTimeMillis();
-
out.println("<br>Time/call(ms):"+((end-start2)/100.0));
- start2 = end;
- }
- }
-
- long end = System.currentTimeMillis();
- out.println("<br>Avg.
time/call(ms):"+((end-start)/(float)iter)+"</p>");
- }
-
- } catch (Exception e) {
-
- out.println("Call failed... Exception:");
- out.println("<pre>");
- e.printStackTrace(out);
- out.println("</pre>");
-
- }
- }
- }
-
-
-
-
\ No newline at end of file
+ int iter = 1000;
+
+ if (speedTest)
+ {
+
+ out.println("<p>Speed Test now ("+ iter + " iterations)");
+
+ long start = System.currentTimeMillis();
+ long start2 = start;
+
+ for (int i = 0 ; i < iter; i++) {
+ bean.getMessage();
+
+ if (i % 100 == 0 && i != 0) {
+ long end = System.currentTimeMillis();
+ out.println("<br>Time/call(ms):"+((end-start2)/100.0));
+ start2 = end;
+ }
+ }
+
+ long end = System.currentTimeMillis();
+ out.println("<br>Avg.
time/call(ms):"+((end-start)/(float)iter)+"</p>");
+ }
+ } catch (Exception e) {
+
+ out.println("Call failed... Exception:");
+ out.println("<pre>");
+ e.printStackTrace(out);
+ out.println("</pre>");
+
+ }
+ }
+}
1.1
contrib/tomcat/src/main/org/jboss/test/tomcat/servlet/PrintClassLoaders.java
Index: PrintClassLoaders.java
===================================================================
package org.jboss.test.tomcat.servlet;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URL;
import java.net.URLClassLoader;
import javax.servlet.*;
import javax.servlet.http.*;
/**
*
* @author [EMAIL PROTECTED]
* @version $Revision: 1.1 $
*/
public class PrintClassLoaders extends HttpServlet
{
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code>
methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, java.io.IOException
{
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("</head>");
out.println("<body><pre>");
out.println(getClassLoaders());
out.println("</body></pre>");
out.println("</html>");
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
{
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
{
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo()
{
return "A servlet prints the request ClassLoaders";
}
public static String getClassLoaders()
{
ClassLoader loader = Thread.currentThread().getContextClassLoader();
StringBuffer buffer = new StringBuffer();
do
{
buffer.append("+++ ");
buffer.append(loader);
buffer.append('\n');
if( loader instanceof URLClassLoader )
{
URLClassLoader uloader = (URLClassLoader) loader;
URL[] paths = uloader.getURLs();
for(int p = 0; p < paths.length; p ++)
{
buffer.append(" - ");
buffer.append(paths[p]);
buffer.append('\n');
}
}
loader = loader.getParent();
} while( loader != null );
// Write the call stack
buffer.append("+++ Call stack:\n");
Throwable t = new RuntimeException();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
t.printStackTrace(pw);
buffer.append(sw.toString());
return buffer.toString();
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development