? :-) 

> -----Original Message-----
> From: Daniel Wang [mailto:[EMAIL PROTECTED]]
> Sent: 05 May 2002 05:22
> To: Cactus Developers List
> Subject: Re: cvs commit: jakarta-cactus/documentation/docs/xdocs
> changes.xml
> 
> 
> --- [EMAIL PROTECTED] wrote:
> > vmassol     02/05/03 12:44:38
> >
> >   Modified:
> > anttasks/src/java/org/apache/cactus/ant
> >                         StartServerHelper.java
> >                documentation/docs/xdocs changes.xml
> >   Log:
> >   Improved debugging of <code>runservertests</code>
> > task. Simply run Ant in debug mode (<code>ant -debug
> > xxx</code>) and the task will print information.
> > Very useful to know why the
> > <code>runservertests</code> task seems to hang after
> > starting your server ...
> >
> >   Revision  Changes    Path
> >   1.5       +59 -44
> >
> jakarta-
> cactus/anttasks/src/java/org/apache/cactus/ant/StartServerHelper.java
> >
> >   Index: StartServerHelper.java
> >
> >
> ===================================================================
> >   RCS file:
> >
> /home/cvs/jakarta-
>
cactus/anttasks/src/java/org/apache/cactus/ant/StartServerHelper.java,v
> >   retrieving revision 1.4
> >   retrieving revision 1.5
> >   diff -u -r1.4 -r1.5
> >   --- StartServerHelper.java        14 Apr 2002 16:34:15
> > -0000       1.4
> >   +++ StartServerHelper.java        3 May 2002 19:44:38
> > -0000       1.5
> >   @@ -58,6 +58,9 @@
> >
> >    import java.io.InputStream;
> >    import java.io.IOException;
> >   +import java.io.PrintWriter;
> >   +import java.io.ByteArrayOutputStream;
> >   +import java.io.PrintStream;
> >    import java.net.HttpURLConnection;
> >    import java.net.MalformedURLException;
> >    import java.net.URL;
> >   @@ -79,7 +82,7 @@
> >     *
> >     * @author <a
> > href="mailto:[EMAIL PROTECTED]";>Vincent Massol</a>
> >     *
> >   - * @version $Id: StartServerHelper.java,v 1.4
> > 2002/04/14 16:34:15 vmassol Exp $
> >   + * @version $Id: StartServerHelper.java,v 1.5
> > 2002/05/03 19:44:38 vmassol Exp $
> >     */
> >    public class StartServerHelper implements
> > Runnable
> >    {
> >   @@ -137,26 +140,14 @@
> >
> >            // Try connecting in case the server is
> > already running. If so, does
> >            // nothing
> >   -        try {
> >   -
> >   -            HttpURLConnection connection =
> >   -                (HttpURLConnection)
> > this.testURL.openConnection();
> >   -            connection.connect();
> >   -            readFully(connection);
> >   -            connection.disconnect();
> >   -
> >   +        if (isURLCallable()) {
> >                // Server is already running. Record
> > this information so that we
> >                // don't stop it afterwards.
> >                this.isServerAlreadyStarted = true;
> >   -
> >   -            this.task.log("Server is already
> > running", Project.MSG_VERBOSE);
> >   -
> >   +            this.task.log("Server is already
> > running", Project.MSG_DEBUG);
> >                return;
> >   -
> >   -        } catch (IOException e) {
> >   -            // An error occurred. It just means
> > the server is not running. Do
> >   -            // nothing
> >   -            this.task.log("Server is not
> > running", Project.MSG_VERBOSE);
> >   +        } else {
> >   +            this.task.log("Server is not
> > running", Project.MSG_DEBUG);
> >            }
> >
> >            // Call the target that starts the
> > server, in another thread. The called
> >   @@ -167,53 +158,75 @@
> >
> >            // Wait a few ms more (just to make sure
> > the servlet engine is
> >            // ready to accept connections)
> >   -        try {
> >   -            Thread.sleep(1000);
> >   -        } catch (InterruptedException e) {
> >   -            throw new
> > BuildException("Interruption during sleep", e);
> >   -        }
> >   +        sleep(1000);
> >
> >            // Continuously try calling the test URL
> > until it succeeds
> >            while (true) {
> >
> >   -            this.task.log("Checking if server is
> > up ...", Project.MSG_VERBOSE);
> >   -
> >   -            try {
> >   -                HttpURLConnection connection =
> >   -                    (HttpURLConnection)
> > this.testURL.openConnection();
> >   -                connection.connect();
> >   -                readFully(connection);
> >   -                connection.disconnect();
> >   -            } catch (IOException e) {
> >   -
> >   -                this.task.log("... got error : "
> > + e.getMessage(),
> >   -                    Project.MSG_VERBOSE);
> >   -
> >   -                try {
> >   -                    Thread.sleep(500);
> >   -                } catch (InterruptedException ee)
> > {
> >   -                    throw new
> > BuildException("Interruption during sleep", ee);
> >   -                }
> >   +            this.task.log("Checking if server is
> > up ...", Project.MSG_DEBUG);
> >
> >   +            if (!isURLCallable()) {
> >   +                sleep(500);
> >                    continue;
> >                }
> >
> >   -            this.task.log("Server is up !",
> > Project.MSG_VERBOSE);
> >   +            this.task.log("Server is up !",
> > Project.MSG_DEBUG);
> >
> >                break;
> >            }
> >
> >            // Wait a few ms more (just to be sure !)
> >   +        sleep(500);
> >   +
> >   +        this.task.log("Server started",
> > Project.MSG_DEBUG);
> >   +
> >   +        // We're done ... Ant will continue
> > processing other tasks
> >   +    }
> >   +
> >   +    /**
> >   +     * Sleeps n milliseconds.
> >   +     *
> >   +     * @param theMs the number of milliseconds to
> > wait
> >   +     * @throws BuildException if the sleeping
> > thread is interrupted
> >   +     */
> >   +    private void sleep(int theMs) throws
> > BuildException
> >   +    {
> >            try {
> >   -            Thread.sleep(500);
> >   +            Thread.sleep(theMs);
> >            } catch (InterruptedException e) {
> >                throw new
> > BuildException("Interruption during sleep", e);
> >            }
> >   +    }
> >
> >   -        this.task.log("Server started",
> > Project.MSG_VERBOSE);
> >   +    /**
> >   +     * @return true if the test URL could be
> > called without error or false
> >   +     *         otherwise
> >   +     */
> >   +    private boolean isURLCallable()
> >   +    {
> >   +        boolean isURLCallable = false;
> >
> >   -        // We're done ... Ant will continue
> > processing other tasks
> >   +        try {
> >   +            HttpURLConnection connection =
> >   +                (HttpURLConnection)
> > this.testURL.openConnection();
> >   +            connection.connect();
> >   +            readFully(connection);
> >   +            connection.disconnect();
> >   +            isURLCallable = true;
> >   +        } catch (IOException e) {
> >
> === message truncated ===
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com
> 
> --
> To unsubscribe, e-mail:   <mailto:cactus-dev-
> [EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:cactus-dev-
> [EMAIL PROTECTED]>



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to