sca-j message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: ISSUE 31: Semantics of ServiceReference.getConversationID()
- From: "Barack, Ron" <ron.barack@sap.com>
- To: "Simon Nash" <NASH@uk.ibm.com>, <sca-j@lists.oasis-open.org>
- Date: Thu, 6 Mar 2008 15:34:09 +0100
RAISER: Simon Nash
TARGET: SCA Java
Common Annotations and APIs
DESCRIPTION:
When a conversation has been initiated by calling through a proxy
obtained
from a ServiceReference, and
setConversationID() has not been called on
the ServiceReference, does ServiceReference.getConversationID()
return
a) null
b) the system-generated conversation ID that would
be obtained by
calling
ServiceReference.getConversation().getConversationID()
c) either or the above depending on the
implementation
Lines 363-367 of the
Java Common Annotations and APIs spec state that a
system-generated conversation ID would be returned
(option b). Lines 780-781
say that
only a user-specified conversation would be returned (option a).
Here are the relevant extracts from the
2/28/08 Working Draft:
lines 340-343
section 6.5
If a method is invoked
on a service reference after an @EndsConversation method has been called
then a new conversation will automatically be
started. If ServiceReference.getConversationID()
is called after the @EndsConversationmethod is called,
but before the next conversation has been
started, it will return null.
lines 363-367 section 6.6.2
Whether the conversation ID is chosen by the client or is generated by
the system, the client
may access the
conversation ID by calling ServiceReference.getConversationID().
If the conversation ID is not
application specified, then the ServiceReference.getConversationID()
method is only guaranteed to return a valid
value after the first operation has been invoked,
otherwise it returns null.
lines 780-781 section 7.4 ServiceReference
getConversationID() - Returns the id
supplied by the user that will be associated with
conversations initiated through this reference.
lines 782-785 section 7.4
ServiceReference
setConversationID(Object conversationId) - Set the id to associate with
any conversation
started through this
reference. If the value supplied is null then the id will be
generated
by the implementation.
Throws an IllegalStateException if a conversation is currently
associated with this reference.
lines 800-802 section 7.5
Conversation
getConversationID() -
Returns the identifier for this conversation. If a user-defined
identity
had been supplied for this
reference then its value will be returned; otherwise the identity
generated by the system when the conversation
was initiated will be returned.
PROPOSAL:
Option a.
Replace lines 363-367 with the
following:
Whether the conversation
ID is chosen by the client or is generated by the system, the client
may access the conversation ID by calling
ServiceReference.getConversation().getConversationID().
Replace lines 780-781 with the
following:
getConversationID()
- Returns the id supplied by the user that will be associated with
conversations initiated through this reference,
or null if no id has been supplied
by
the user.
Simon C. Nash, IBM
Distinguished Engineer
Member of the IBM Academy of Technology
Tel.
+44-1962-815156 Fax +44-1962-818999
Unless stated otherwise above:
IBM United
Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]