|
What this is
Other links
The source code/* * Copyright 1999-2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import javax.servlet.*; import javax.servlet.http.*; public class LoadServlet extends HttpServlet { public LoadServlet() {}; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { int num = (int) (java.lang.Math.random()*10000); int stop = (int) (java.lang.Math.random()*10000); java.io.PrintWriter pw = response.getWriter(); pw.println("Lines = " + num + " " + stop); for (int i = 1; i < num; i++) { if (i == stop) { throw new ServletException("num = " + num + ", stop = " + stop); } pw.println(" Line " + i); } } private class Loader implements Runnable { int num; public Loader(int pNum) { num = pNum; } public void run() { java.net.URL url; try { url = new java.net.URL("http://127.0.0.1:8080/test/servlet/LoadServlet?num=" + num); } catch (java.net.MalformedURLException e) { throw new NullPointerException(); } int ok = 0; int ownErrors = 0; for (int i = 0; ; i++) { try { if (i % 100 == 100) { System.out.println("Thread " + num + " = " + i + ", ownErrors = " + ownErrors + ", ok = " + ok); } int stop = (int) (java.lang.Math.random()*40000); java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(url.openStream())); for (int j = 0; ; j++) { String line = br.readLine(); if (line == null) { break; } if (j == stop) { ++ownErrors; throw new NullPointerException(); } } ++ok; } catch (Exception e) { } } } } public void run() { for (int i = 0; i < 10; i++) { Thread t = new Thread(new Loader(i)); t.start(); } } public static void main(String[] args) throws Exception { (new LoadServlet()).run(); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.