[Remoting] - Re: Messaging blocked by long time-out
by ron.sigal@jboss.com
Hi guys,
First, a little background. JBossMessaging sends messages to a consumer by calling org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallback(), which, in the case of the bisocket transport. results in a call to org.jboss.remoting.Client.invoke(), which eventually leads to a write on a java.net.Socket. Now, it's true that there is a parameter, "callbackTimeout", that can be used to configure the callback Client and, ultimately, the Sockets used by the Client. But it's important to note that the Socket timeout value, set by Socket.setSoTimeout(), affects blocking reads on the Socket's SocketInputStream. It doesn't affect blocking writes. See, for example,
http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html#setSoTimeout....
See also
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4031100,
where someone asked (in 1997!) for a write timeout for Sockets. The request was rejected since they anticipated NIO would eliminate the problem.
"thammoud" wrote :
| I believe that is a tcp keep alive issue
|
Yes, I think you'll have to depend on TCP to discover that the connection has failed. Indeed, it's probably a keepalive failure that's causing the exceptions your both seeing. Fortunately, it is possible to configure the keepalive parameters so that the failure is detected more quickly. Unfortunately, as far as I know, you have to set the parameters at the TCP level rather than the Java level. For Linux configuration, see, for example,
http://www.linux.org/docs/ldp/howto/TCP-Keepalive-HOWTO/usingkeepalive.html
section 3.1, in particular, and for Windows, see, for example,
http://msdn.microsoft.com/en-us/library/ms819735.aspx
Let us know your results.
-Ron
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4219345#4219345
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4219345
17 years, 1 month
[Installation, Configuration & DEPLOYMENT] - Re-deployment questions?
by dickson1888
Hi all,
I have several questions about the deployment of a web application. Thanks for any help.
1. If I want to re-deploy the web application directly, I know that I just put the new war file in the "deploy" folder. It can re-deploy itself. My question is how about the transaction is handled during the deployment. Does JBoss AS 5.0 will wait all connection/request to finish first and then stop the new request; then do deployment. Please help to clarify the deployment flow.
2. If I use the other way to re-deploy the web application - undeploy it first and deploy it with the new version, how does JBoss handle the transaction/request during undeploy?
3. Also, if any user browse that web page in the stopped web application, they will 404 page not found. Is there other method/handling better to show the specific stopped web application is not available ( a message page )?
Thanks in advance for anyone's help.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4219339#4219339
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4219339
17 years, 1 month