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]

Reply via email to