RE: [sca-j] ISSUE 4 - Dependency reinjection

From
Mike Edwards <>
Date
2008-01-08T08:43:03+00:00
ID
Thread
RE: [sca-j] ISSUE 4 - Dependency reinjection
Reza,

I have one specific comment to make
here - done inline....

Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.

Co Chair OASIS SCA Assembly TC.

IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.

Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  

Email:  

"Reza Shafii" <> wrote
on 07/01/2008 21:07:32:

> 

> Another option would be to use Mike's idea of a "reinject"
parameter on

> @Reference to also derive the behavior of the getServiceReference()

> method. If reinject="true" reinjection should occur and
subsequent

> invocations of getServiceReference() would lead to an object referencing

> the new target.  If reinject="false", reinjection should
not occur and

> subsequent invocations of getServiceReference() would lead to the
target

> prior to rewiring. 

> 

> I am also thinking that the reinject=true value would only be valid
if

> the conditions previously discussed apply (i.e. scope is composite,

> conversational interfaces must not be active, and the reference is
field

> based or setter based). This would change the table as attached.

This was NOT my proposal.

My proposal is that IF reinject=true is set, then
reinjection occurs for ANY

scope of component.  My thinking here is that,
since by default no reinjection

occurs, and that the programmer has to do something
active to get reinjection

to occur, then it is reasonable to allow reinjection
for any and all scopes

- at the request of the programmer.  This gets
rid of those rules that you

list above.

The thinking here is that IF you care about reinjection,
then you will take 

the trouble to think through what it means to change
the reference you are

using (or perhaps, writers of material about SCA will
take the trouble to

tell you....).

> 

> Cheers,

> 

> Reza

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