]
Tim Fox commented on JBMESSAGING-1132:
--------------------------------------
Needs testing
Use blocking mode for callbacks with Remoting http transport
------------------------------------------------------------
Key: JBMESSAGING-1132
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1132
Project: JBoss Messaging
Issue Type: Task
Reporter: Ron Sigal
Assignee: Tim Fox
Priority: Minor
Fix For: 1.4.0.SP3.CP04, 1.4.1.GA
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: