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

Reply via email to