Simon Nash: Date: Thursday, 17 January 2008

Simon Nash: Date: Thursday, 17 January 2008

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