[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1132) Use blocking mode for callbacks with Remoting http transport

Ron Sigal (JIRA) jira-events at lists.jboss.org
Wed Oct 31 17:33:44 EDT 2007


Use blocking mode for callbacks with Remoting http transport
------------------------------------------------------------

                 Key: JBMESSAGING-1132
                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1132
             Project: JBoss Messaging
          Issue Type: Task
            Reporter: Ron Sigal
         Assigned To: Tim Fox
             Fix For: 2.0.0 Alpha


In response to JBREM-641 "re-implement the callback polling for http transport to reduce latency", an alternative way of handling callbacks was introduced in Remoting.  In particular, instead of the client periodically polling for callbacks, in "blocking" mode, the request to download callbacks blocks on the server until either (1) a callback is available, or (2) the timeout period has expired.  The advantage is reduced latency in retrieving callbacks.  In fact, some JBM http transport stress tests which fail in "nonblocking" mode now pass in "blocking" mode.

1. The default mode is "nonblocking", so it is necessary to explicitly configure "blocking" mode.  One way to do so is to add the appropriate parameter to the metadata map when installing the callback listener.  E.g., add the following line to org.jboss.jms.client.remoting.JMSRemotingConnection.createCallbackMetadata():

         if (reportPollingStatistics != null)
         {
            metadata.put(CallbackPoller.REPORT_STATISTICS, reportPollingStatistics);
         }

         metadata.put(ServerInvoker.BLOCKING_MODE, ServerInvoker.BLOCKING);  //  <<=== add this line
         metadata.put(ServerInvoker.BLOCKING_TIMEOUT, "7777");                              // optional: default is 5000 milliseconds

2. The line

   <attribute name="callbackPollPeriod" isParam="true">102</attribute>

may be removed from remoting-http-service.xml, since it's no longer relevant.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list