atom feed33 messages in org.oasis-open.lists.sca-jRe: [sca-j] ISSUE 4 - Dependency rein...
FromSent OnAttachments
mrow...@bea.comJan 4, 2008 2:07 pm 
Reza ShafiiJan 4, 2008 2:19 pm.xls
Mike EdwardsJan 7, 2008 1:27 am 
Simon NashJan 7, 2008 4:58 am 
David BoozJan 7, 2008 7:35 am 
Reza ShafiiJan 7, 2008 9:22 am 
Blohm, HenningJan 7, 2008 9:43 am 
Peshev, PeterJan 7, 2008 10:18 am 
Simon NashJan 7, 2008 11:01 am 
Reza ShafiiJan 7, 2008 1:06 pm.xls
Simon NashJan 7, 2008 3:43 pm.xls
Mike EdwardsJan 8, 2008 12:42 am 
Blohm, HenningJan 8, 2008 12:49 am 
Mike EdwardsJan 8, 2008 12:50 am 
Mike EdwardsJan 8, 2008 1:32 am 
Mike EdwardsJan 8, 2008 2:22 am 
Peshev, PeterJan 8, 2008 3:57 am 
Mike EdwardsJan 8, 2008 4:46 am 
Simon NashJan 8, 2008 5:51 am 
Simon NashJan 8, 2008 5:51 am 
Reza ShafiiJan 8, 2008 8:11 am 
David BoozJan 8, 2008 8:31 am 
Peshev, PeterJan 8, 2008 9:36 am 
David BoozJan 8, 2008 12:46 pm 
Reza ShafiiJan 8, 2008 1:31 pm 
Mike EdwardsJan 9, 2008 2:45 am 
Simon NashJan 9, 2008 4:18 am 
Mike EdwardsJan 9, 2008 5:07 am 
Mike EdwardsJan 9, 2008 6:13 am 
Michael RowleyJan 10, 2008 1:19 pm.xls
Simon NashJan 15, 2008 2:31 pm.xls, .xls
Simon NashJan 30, 2008 7:58 am.xls, .xls
Mike EdwardsJan 30, 2008 8:22 am.xls, .xls
Subject:Re: [sca-j] ISSUE 4 - Dependency reinjection
From:David Booz (bo@us.ibm.com)
Date:Jan 7, 2008 7:35:54 am
List:org.oasis-open.lists.sca-j

Mike,

Why wouldn't we use the existing ServiceUnavailableException for your additional case?

Dave Booz STSM, SCA and WebSphere Architecture Co-Chair OASIS SCA-Policy TC "Distributed objects first, then world hunger" Poughkeepsie, NY (845)-435-6093 or 8-295-6093 e-mail:bo@us.ibm.com http://washome.austin.ibm.com/xwiki/bin/view/SCA2Team/WebHome

Mike Edwards <mike_edwards@uk. ibm.com> To "OASIS Java" 01/07/2008 04:27 <sca@lists.oasis-open.org> AM cc

Subject Re: [sca-j] ISSUE 4 - Dependency reinjection

Reza,

This is a good contribution to settling this item of work.

I suggest one addition to the table - "Target Service Undeployed" is OK for services within the SCA Domain - to deal with services elsewhere, "Target Service becomes Unavailable" is a better description (we don't know anything about HOW it became unavailable), but the effects are the same. |------+-----------------------+-----------------------+-----------------| | | | Effect on | | |------+-----------------------+-----------------------+-----------------| | Chang| Reference | Existing | Subsequent | | e | | ServiceReference | Invocations of | | Event| | Object | ComponentContext| | | | | . | | | | | getServiceRefere| | | | | nce() or | | | | | cast() | |------+-----------------------+-----------------------+-----------------| | Chang| MAY be reinjected (if | MUST continue to work | Result | | e to | other conditions | as if the reference | corresponds to | | the | apply). | target was not | the injected | | Targe| If not reinjected, | changed. | reference (i.e.| | t of | then it MUST continue | | changed only if | | a | to work as if the | | reinjection | | Refer| reference target was | | occurred). | | ence | not changed. | | | |------+-----------------------+-----------------------+-----------------| | Targe| Business methods | Business methods | Result SHOULD be| | ted | SHOULD throw | SHOULD throw | a reference to | | Servi| InvalidServiceExceptio| InvalidServiceExceptio| the undeployed | | ce | n. | n. | service. | | Undep| | | Business methods| | loyed| | | SHOULD throw | | | | | InvalidServiceEx| | Targe| | | ception. | | t | | | | | Servi| | | | | ce | | | | | becom| | | | | es | | | | | Unava| | | | | ilabl| | | | | e | | | | |------+-----------------------+-----------------------+-----------------| | Targe| MAY continue to work, | MAY continue to work, | Result SHOULD be| | ted | depending on the | depending on the | a reference to | | Servi| runtime and the type | runtime and the type | the changed | | ce | of change that was | of change that was | service. | | Chang| made. If it doesn't | made. If it doesn't | | | ed | work, the exception | work, the exception | | | | thrown will depend on | thrown will depend on | | | | the runtime and the | the runtime and the | | | | cause of the failure. | cause of the failure. | | |------+-----------------------+-----------------------+-----------------|

Now, I'd like to propose the following, which I realize changes some of the decisions we made previously, but I am getting concerned about complexity:

1. No reinjection of references occurs by default for any component of any scope

2. Any component of any scope can declare that it requires reinjection. My suggestion is to provide a parameter to the @Reference annotation reinject="true", which only has meaning for References which are a) Fields b) accessible via a setter method (ie it cannot apply to a reference injected via the constructor).

This I believe is much simpler and it gives the component writer a chance to decide for themselves whether they want to be concerned about wiring changes occurring dynamically during the lifetime of a component. It will also make it simpler for us to give a good description of the kinds of circumstance in which it might be good to react to wiring changes.

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: mike@uk.ibm.com

"Reza Shafii" <rsha@bea.com>

04/01/2008 22:19 To <sca-j@lists.oasis-ope n.org> cc

Subject [sca-j] ISSUE 4 - Dependency reinjection

Hi All,

In an effort to try to put more structure around a potential solution to issue 4, Michael and I put together the attached table. Most of the content is derived from conlusions reached by the TC's past discussions. A matrix such as this might help us better focus future discussions.

Looking forward to your feedback,

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