Summary:
Opened issues 19-23
Worked on issue 4:
Resolved: Reinjection can occur anytime after the original injection, subject to restrictions that are already in the spec (such as those regards to conversation).
Vote to occur next week.
Details
Attendance:
Mark Combellack Avaya, Inc.
Jim MarinoBEA Systems, Inc.
Michael RowleyBEA Systems, Inc.
Reza Shafii BEA Systems, Inc.
Michael Beisiegel IBM
David Booz IBM
Mike Edwards IBM
Simon Nash IBM
Anish Karmarkar Oracle Corporation
Ron Barack SAP AG*
Sanjay Patil SAP AG*
Peter Peshev SAP AG*
Roberto Chinnici Sun Microsystems
Peter Walker Sun Microsystems
Pradeep Simha TIBCO Software Inc.
Agenda:
US & Canada Toll Free: (866) 484-4232 International Dial-In Number: (702) 894-2358 ACCESS CODE: 960335
- Roll Call
Mark Combellack Avaya, Inc.
Jim MarinoBEA Systems, Inc.
Michael RowleyBEA Systems, Inc.
Reza Shafii BEA Systems, Inc.
Michael Beisiegel IBM
David Booz IBM
Mike Edwards IBM
Simon Nash IBM
Anish Karmarkar Oracle Corporation
Ron Barack SAP AG*
Sanjay Patil SAP AG*
Peter Peshev SAP AG*
Roberto Chinnici Sun Microsystems
Peter Walker Sun Microsystems
Pradeep Simha TIBCO Software Inc.
- Appointment of scribe. List attached below
- Agenda bashing
- Approval of minutes from previous meeting(s)
1. Accepting new issues:
NEW ISSUE: Clarify Request Scope lifetime
NEW ISSUE: annotations on parameters
NEW ISSUE: When is a RequestContext available?
NEW ISSUE: Redirecting callbacks
2. Issues discussion
JAVA-4: Dependency Reinjection
Decision 2008/01/17:
* Other conditions:
1) The component MUST NOT be STATELESS or REQUEST scoped
2) The reference MUST use either field-based injection or setter injection. References that are injected through constructor injection MUST NOT be changed.
3) If the reference has a conversational interface, then reinjection MUST NOT occur while the conversation is active.
** Result of invoking ComponentContext.cast() corresponds to the reference that is passed as a parameter to cast().
Michael Rowley uploaded a new spreadsheet document
containing the agreed text as above
Simon Nash took an action to compare the spreadsheet with the previous text and identify any inconsistencies
Simon Nash has posted another question to be discussed as part of this issue's resolution.
Latest discussion is at
JAVA-11: Semantics of getCallbackID() are underspecified
- latest discussion is in the following email:
JAVA-12: Relation between conversational annotation and scope conversation
- latest discussion and proposal is in the following email:
JAVA-8: Concurrency model for Service Reference instances
- proposal is in the following email and slide deck:
3. Adjourn
------
Rotating scribe list:
Martin Chapman Oracle Corporation
Sriram Narasimhan TIBCO Software Inc.
Pradeep Simha TIBCO Software Inc.
Scott Vorthmann TIBCO Software Inc.
Bryan Aupperle IBM
Michael Keith Oracle Corporation
Uday Joshi Oracle Corporation
---- scribed once -----
Anish Karmarkar Oracle Corporation
Mike Edwards IBM
Michael Beisiegel IBM
Ashok Malhotra Oracle Corporation
David Booz IBM
Simon Nash IBM
Jim Marino BEA Systems, Inc.
Sanjay Patil SAP AG
Jason Kinner Oracle
Ron Barack SAP AG (2nd time)
Peter Walker Sun Microsystems
Peter Peshev SAP AG
Roberto Chinnici Sun Microsystems
Mark Combellack: by the way - I am having microphone problems here - broken headset I think
Simon Nash: we could hear you
Dave Booz is glad that Anish is here
Simon Nash: a bit crackly
anish: Scribe: Anish Karmarkar
anish: ScribeNice: anish
anish: topic: approval of minutes
anish:
imap://Anish%:993/fetch%3EUID%3E/INBOX%3E128041
anish: minutes approved
anish oops wrong link
anish:
Mark Combellack:
Mike Edwards:
anish: topic: new issue 21
anish: motion: m: simon s: mikeE to accept the issue
anish: motion passes w/o
anish: topic: new issue 20
anish:
anish: peter explains the issue
anish: motion: m: peterP s: sanjay to accept the issue
anish: simon: this isn't just for constructor, but also for setter params
anish: ... there is text that says that, we need to decide if the text is correct or not
anish: motion passes w/o
anish: issue is opened
anish: topic: issue 22
anish:
anish: simon explains the issue
anish: simon: identified cases where request context may not be available. May not be an exhaustive list
anish: motion: m: simonN s: mikeE to accept the issue
anish: motion passes w/o
anish: issue is now open
anish: topic: new issue 19
anish:
anish some funny chars in the issue. suspect cut-and-paste problem
anish: mikeR: the sentence in question is overly constraining
anish: motion: m: simonN s: peterP to accept the issue
anish: motion passes w/o
anish: issue is opened
anish: topic: new issue 23
anish:
anish:
anish: mikeE walks thru the issue description
anish: mikeE: although the spec support asynchronous clients to synchronous services, it is not very clear to readers that it does
anish: ... not well described and need to make changes to make things clearer
anish: motion: m: mikeE s: daveB to accept the issue
anish: motion passes w/o
anish: issue is now open
anish: topic: issue 4
anish: simon: 2 things to talk about one is on the agenda and the other isn't
anish: ... we have to consider injection and reinjection for conversations
anish: simon: does anyone think that the scenario in my email can happen
anish: mikeR: i do
Dave Booz:
anish: public url:
anish: simon's email:
anish: simon: changes in this email: 1) 1st para is same except for (1)
2) deleted a lot of wordings and replaced with what should have been based on the table. The delta from the table is the last paragraph
anish: mikeR: There is a sentence -- "If the target of a ServiceReference has been undeployed or has become unavailable, the SCA runtime SHOULD throw InvalidServiceException."
anish: ... we have distinguished between unavailable and undeployed
anish: simon: this captures what is in the table
Mark Combellack:
anish thx mark
anish: discussion about InvalidServiceException and changes occurring because of deployment-related changes
anish: mikeR: we should have words that mention that a target becoming temporarily available it triggers a service unavail. exception. This does not have to be an entry in the table. But as a separate stmt
anish: simon: this seems unrelated to reinjection
anish: mikeR: this is for clarity
anish: simon: no objections to that
anish: dave explains #2 in his email at
anish: simon: can use synchronized methods to prevent this
anish: mikeR: extra text will help: reinjection should not occur while it is in the middle of executing a method
anish: simon: disagree, java sync is good enuf
anish: mikeR: if it is a composite-scoped component and there is a method that is used concurrently, that method would have to be protected from reinjection, but not from excuting concurrently
anish: simon: implicit synchronization is not helpful. If it is a 'MUST'
synchronization, I'm uncomfortable with it as well since it can't be turned off
anish: mikeE: i don't think anyone would be upset if reinjection does not happen concurrently
anish: mikeE: i'm worried about hold on reinjection till there is nothing active. There are scenario where this may have to wait for a long time.
anish: s/hold on/holding on/
Dave Booz: with Mike R's rule, would re-injection ever occur for conversational components?
anish: simon: i have exactly the same concern as mikeE
anish: ... would take control away from the business logic writer
anish: mikeR: we may have to vote on it
anish: simon: would like to propose that reinjection can occur anytime after the original injection
anish: motion: m:simon s: daveB reinjection can occur anytime after the original injection subject to restrictions that are already in the spec (such as those regards to conversation)
anish: mikeR: it would not be a violation of the spec for the runtime to do reinjection only between method calls. So this does not prevent a runtime from doing such a thing
anish: motion approved w/o
anish rfc 2119 is now a verb?
Mike Edwards: "to 2119" hmm
anish: mikeR: we'll continue to resolve 4 next telcon
anish: simon: urge everyone to look at the last paragraph
anish: meeting adjurned