I have merged Ron's HTTP branch into the trunk
(
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMessagingMergingActivity). All functional
tests were passing on the branch, prior to merging. The smoke tests (including the http
test) were also passing. The branch should be considered dead, no changes must be applied
to it. I will delete it soon.
After the merge, the trunk uses a new Remoting version (2.2.0.Alpha4), and the Remoting
Callback API to send messages from server to client.
The latest trunk version uses asynchronous push callbacks (and polling under the hood for
HTTP). The pre-merge trunk relied on synchronous calls to send messages from server to
client and expected synchronous delivery confirmation (not to be mistaken with client
acknowledgment). Such a behavior cannot be expected from asynchronous callbacks, so I
modified MessageCallbackHandler to asynchronously send delivery confirmations back to
server, and the ServerConsumerEndpoint to manage those delivery confirmations sent by the
client.
One case in which delivery confirmation management is necessary is when the consumer is
closed. The ServerConsumerEndpoint cannot be closed if there are messages in transit from
server to client, and the delivery confirmation count mechanism is used to confirm that
there are no in-flight messages.
New configuration parameters for HTTP
The polling period (in ms) can be configured, in this order:
1. By setting "jboss.messaging.callback.pollPeriod" system property on the
client. This overrides any other configuration.
2. By specifying it as value of the "callbackPollPeriod" attribute, in the HTTP
Connector configuration on the server (remoting-service.xml).
3. By relying on the hardcoded JMSRemotingConnection.CALLBACK_POLL_PERIOD_DEFAULT value
(100 ms), if no value is explicitly specified.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988051#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...