I've recently deployed an application in Jboss 3.0, on a Dell Inspiron 8200 with P4 1.9Ghz 512Mb and Windows 2000 Professional as Operating system, and everything works correctly when dealing with single client invocation, but when trying with 100 simultaneous clients the server throws this Exception:
javax.naming.CommunicationException: Receive timed out. Root exception is java.net.SocketTimeoutException: Receive timed out
at java.net.PlainDatagramSocketImpl.receive(Native Method)
at java.net.DatagramSocket.receive(DatagramSocket.java:670)
at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:953)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1040)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:450)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:443)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at Common.utils.EJBUtils.remoteLookup(EJBUtils.java:338)
at Common.utils.EJBUtils.create(EJBUtils.java:142)
at CWS.ClientCore.ClientCommunicate.CommunicateImp.(CommunicateImp.java:55)
at CWS.ClientCore.ClientCommunicate.ClientCommunicateImp.(ClientCommunicateImp.java:34)
at CWS.ClientCore.ClientSession.CURASession.(CURASession.java:35)
at loads.login2.run(login2.java:48)
The jndi properties are set as follows:
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, CURAConfiguration.getServiceProperty(component, "provider"));
h.put(Context.PROVIDER_URL,
CURAConfiguration.getServiceProperty(component, "ejb-address") + ":" + CURAConfiguration.getServiceProperty(component, "ejb-port"));
h.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
h.put("jnp.socketFactory","org.jnp.interfaces.TimedSocketFactory");
h.put("jnp.timeout","0");
h.put("jnp.sotimeout","0");
I read some post about this problem in the forum and do every tip they gave but it still dont works, if anyone knows how to solve this it will be great also if anyone knows that this is a problem of jboss i will be glad to hear from it
create your clients with 100 ms delay -- this is a problem with Sun ServerSocket implementation which causes socket backlog overflow