[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [sca-j] NEW ISSUE: Semantics of getCallbackID() are underspecified
TARGET:
Java Common Annotations and APIs specification, section "Java API" /
{"CallableReference"}
DESCRIPTION:
The getCallbackID() method description doesn't specify the initial state
of the returned value and the events that cause this value to change.
Consider the following sequence of events:
1) A ServiceReference is created, either by injection or by
ComponentContext.getServiceReference().
2) getCallbackID() is called on the ServiceReference.
3) A type-safe reference (proxy) is created from the ServiceReference by
CallableReference.getService().
4) getCallbackID() is called on the ServiceReference.
5) A service call is made through the type-safe reference.
6) getCallbackID() is called on the ServiceReference.
It seems reasonably intuitive that call 2) will return null and call 6)
will return the system-generated callback ID that was used for the service
call. It's less clear what call 4) will return. Does the
system-generated callback ID get created and set into the ServiceReference
as part of event 3) or as part of event 5)?
The description of the getCallbackID() method should describe a "state
model" for how the value returned would change based on other actions.
PROPOSAL:
At point 2) the value returned will be null. At point 4, it will still be
null, At point 6), it will be the system-generated callback ID that was
used for the service call 5). This information should be stated
explicitly in the description of getCallbackID().
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]