Hi,

Quite a few people have reported a problem with
connection refused on windows when you hit JBoss with
lots of requests all at the same time.
Its bizarre, I don't see this problem on Linux.

I've tracked the problem to the way ServerSockets are
handled.

Parts of jboss does something like:

public void run()
{
socket = ServerSocket.accept();
listen();
doWork(socket);
}
public void listen()
{
Thread thread = new Thread(this);
thread.start();
}

But if you do the following the connection refused
mostly goes away.

public void run()
{
while(true)
{
socket = serverSocket.accept();
Thread thread = new Thread(new Worker(socket));
thread.start();
}
}
In my testing there is still a problem on windows
right at the very start when the work is intensive.
It looks like the JIT kicks in and the thread
doing the serverSocket.accept() doesn't get chance
to run before the backlog queue fills up.
The problem goes away after the first few requests.

org.jnp.server.Main does exactly what I've written above.
Some thread pooling would be nice :-)

I would like somebody else to verify my analysis.
I don't want to change what's working if the
problem is really elsewhere.
Regards,
Adrian
_________________________________________________________
View thread online: http://main.jboss.org/thread.jsp?forum=66&thread=10561

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to