Hi,

         I have a target to detect whether a port is listening, like the
following:

================================================================

<project name="test" default="test.server">

    <target name="test.server" description="Test server.">

        <echo message="trying to test server at localhost:39001..." />

        <waitfor maxwait="300" maxwaitunit="second" checkevery="5"
timeoutproperty="server.not.started">

            <and>

                <socket server="localhost" port="39001" />

            </and>

        </waitfor>

        <fail message="server did not start!" if="server.not.started" />

        <echo message="server has started successfully." />

    </target>

</project>

=================================================================

Put the codes into a build file and run it, I got the following result:

ant -f t.xml;netstat -an|grep 39001

Buildfile: t.xml

 

test.server:

     [echo] trying to test server at localhost:39001...

     [echo] server has started successfully.

 

BUILD SUCCESSFUL

Total time: 59 seconds

tcp        0      0 ::ffff:127.0.0.1:39001      ::ffff:127.0.0.1:39001
TIME_WAIT   

 

 

Thoug there is no any server on 39001 started, after a while the target
will return with "server has started successfully". It is very strange.
Seems the <socket> task makes a listener on 39001 and detect it. So far
I just found the problem on RedHat Linux. And the time that <socket>
returns are different every time you run the target. Sometimes the
target works as expected and sometimes works as above.

 

Does anybody know what's the cause? Thanks

 

Best regards

Weifeng Niu
Tel: +86 10 8528 1188 ext. 1724 

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

 


Notice:  This email message, together with any attachments, may contain 
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated 
entities,  that may be confidential,  proprietary,  copyrighted  and/or legally 
privileged, and is intended solely for the use of the individual or entity 
named in this message. If you are not the intended recipient, and have received 
this message in error, please immediately return this by email and then delete 
it.

Reply via email to