Hi all, In trying to add session.close() QMF method support to the Java broker I have noticed that the client and broker dont handle the 0-10 session.request-timeout control method which is issued during closure requesting that the state expiry timeout be set to 0. As a result when the broker (Server)Session.close() sends a session.detach the client moves its Session into the DETACHED state rather than the CLOSED state desired, as it bases this decision on whether the value of expiry is 0 or higher and we currently set this expiry value to 1 in the AMQSession_0_10 constructor when creating the Session. Instead of leading to throwing an immediate exception that the Session is closed this causes further attempts to use the Session to wait for a timeout period before throwing an exception indicating it timed out waiting to become open.
I was wondering if anyone knows why this is set to 1, and whether setting it to 0 is an option until such time as the timeout-request method is actually implemented? Most other uses of the expiry parameter (eg in examples etc) sets it to 0 and the Session only ever seems to send timeout-request methods with a value of 0 currently (in Session.attach() and close()). Robbie --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
