dev@glassfish.java.net

Re: [FYI] More frequent BindException to occur

From: Jerome Dochez <Jerome.Dochez_at_Sun.COM>
Date: Fri, 30 Oct 2009 11:09:55 -0700

Jean Francois,

I think we have a problem...
I remember this created an enormous amount of pain in the past.

There is something I don't quite understand, please clarify :

- you allow to bind to an existing port.
- on windows, if he port is used by tomcat, you say nothing which
seems consistent with the above statement
- on unixes, you fail with SEVERE: doSelect IOException
java.net.BindException: Address already in use:

why do you fail on unix if you allow to bind to an existing port ?


can you also clarify also what is the messy part of doing something
special for win32.

thanks, jerome



On Oct 30, 2009, at 10:45 AM, Jeanfrancois Arcand wrote:

> Salut,
>
> in order to fix Issue 10690 for win32 users:
>
> * http://is.gd/4Il5u
>
> I've turned off the java.net.Socket.setReuseAddress()
>
> * http://is.gd/4Ilnw
>
> for all TCP listeners (8181,4848,8080,3700,7676) independent of the
> OS (will be a little messy if I do it only for win32)
>
> The effect you will notice once 1.9.18-f gets integrated is doing:
>
> java -jar glassfish.jar
> CTRL-C
> java -jar glassfish.jar
>
> will produce a BindException and GF will not start. The reason is
> the underlying OS may takes some times to release a TCP port, and
> since we no longer allow binding on an existing port, it can/will
> produce that exception.
>
> Unfortunately, it may breaks some existing tests who stop/start
> listeners too fast.
>
> A+
>
> -- Jeanfrancois
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>