Oops. I missed that. You've pointed it straight!

---
daniel baktiar

On Fri, Sep 23, 2011 at 04:20, André Warnier <a...@ice-sa.com> wrote:

> Hi.
>
> This is all very nicely explained, but maybe irrelevant.
> As far as I understand, the OP is trying to connect to the "shutdown port"
> mentioned in the <Server> tag, not to a <Connector>.  On that shutdown port,
> there should not be so many connection requests that they outrun the ability
> of Tomcat to accept a connection on it.
> I have a suspicion that the client does not connect to Tomcat though, maybe
> not even to the Tomcat host.
> But the OP did not really provide enough information to validate or
> invalidate that suspicion.
>
>
> Daniel Baktiar wrote:
>
>> Hi Vishveswara,
>>
>> If you look at the behavior of ServerSocket, or any BSD-like listening
>> server socket in general, there is something called 'backlog'.
>> http://download.oracle.com/**javase/1.4.2/docs/api/java/**
>> net/ServerSocket.html<http://download.oracle.com/javase/1.4.2/docs/api/java/net/ServerSocket.html>
>>
>> In short, backlog is something like a queue, if all your worker thread
>> occupied, the listening server socket is allowed to hold and queue n
>> number
>> of connecting socket. Only when the all threads occupied and backlog full
>> then you will get "connection refused". The connection socket in the
>> backlog
>> is silently accepted but not served yet. If the connection socket was held
>> in the backlog for quite some time (e.g. due to existing worker threads
>> still busy), until it is time out for the connection client socket, then
>> that what you have said may occur: the Tomcat is up and running, yet the
>> connection client socket  java.net.ConnectException: Connection timeout:
>> connect.
>>
>> So, what you can detect by a connection client socket is not "whether
>> Tomcat
>> is up and running", instead "whether Tomcat is up and running and able to
>> accept and process one more client socket within the client time out
>> interval". There are cases where "Tomcat is up and running" but "is not
>> able
>> to accept and process one more client socket within the client time out
>> interval" (which is the case when "java.net.ConnectException: Connection
>> timeout: connect" happens).
>>
>> There is an "acceptCount" attribute in server.xml <Connector /> which
>> specifies the backlog. If you set this to 0, it may behave the way you
>> want,
>> but you have to test yourself whether that will be good for the system
>> behaviour and performance from the user point of view.
>>
>> ---
>> daniel baktiar
>>
>> On Thu, Sep 22, 2011 at 18:30, vishveswara chary varanasi <
>> vvchary.varan...@gmail.com> wrote:
>>
>>  Tomcat community has a wiki which providded the
>>>
>>> http://wiki.apache.org/tomcat/**HowTo#How_do_I_check_whether_**
>>> Tomcat_is_UP_or_DOWN.3F_There_**is_no_status_command<http://wiki.apache.org/tomcat/HowTo#How_do_I_check_whether_Tomcat_is_UP_or_DOWN.3F_There_is_no_status_command>
>>>
>>> i have tried to connect to tomcat using sockect connection on the port
>>> where the tomcat running
>>>
>>>  Socket socket = new Socket("hostname", port);
>>>
>>> this works some time and some time even if the tomcat is up and
>>> runnning this is throwing the java.net.ConnectException: Connection
>>> timed out: connect.
>>>
>>> please help me how i can test that whether tomcat is up and running on
>>> a remote machine from a client machine.
>>>
>>> Thanks
>>>
>>> ------------------------------**------------------------------**
>>> ---------
>>> To unsubscribe, e-mail: 
>>> users-unsubscribe@tomcat.**apache.org<users-unsubscr...@tomcat.apache.org>
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>>
>>>
>>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@tomcat.**apache.org<users-unsubscr...@tomcat.apache.org>
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

Reply via email to