| From | Sent On | Attachments |
|---|---|---|
| mrow...@bea.com | Jan 4, 2008 2:07 pm | |
| Reza Shafii | Jan 4, 2008 2:19 pm | .xls |
| Mike Edwards | Jan 7, 2008 1:27 am | |
| Simon Nash | Jan 7, 2008 4:58 am | |
| David Booz | Jan 7, 2008 7:35 am | |
| Reza Shafii | Jan 7, 2008 9:22 am | |
| Blohm, Henning | Jan 7, 2008 9:43 am | |
| Peshev, Peter | Jan 7, 2008 10:18 am | |
| Simon Nash | Jan 7, 2008 11:01 am | |
| Reza Shafii | Jan 7, 2008 1:06 pm | .xls |
| Simon Nash | Jan 7, 2008 3:43 pm | .xls |
| Mike Edwards | Jan 8, 2008 12:42 am | |
| Blohm, Henning | Jan 8, 2008 12:49 am | |
| Mike Edwards | Jan 8, 2008 12:50 am | |
| Mike Edwards | Jan 8, 2008 1:32 am | |
| Mike Edwards | Jan 8, 2008 2:22 am | |
| Peshev, Peter | Jan 8, 2008 3:57 am | |
| Mike Edwards | Jan 8, 2008 4:46 am | |
| Simon Nash | Jan 8, 2008 5:51 am | |
| Simon Nash | Jan 8, 2008 5:51 am | |
| Reza Shafii | Jan 8, 2008 8:11 am | |
| David Booz | Jan 8, 2008 8:31 am | |
| Peshev, Peter | Jan 8, 2008 9:36 am | |
| David Booz | Jan 8, 2008 12:46 pm | |
| Reza Shafii | Jan 8, 2008 1:31 pm | |
| Mike Edwards | Jan 9, 2008 2:45 am | |
| Simon Nash | Jan 9, 2008 4:18 am | |
| Mike Edwards | Jan 9, 2008 5:07 am | |
| Mike Edwards | Jan 9, 2008 6:13 am | |
| Michael Rowley | Jan 10, 2008 1:19 pm | .xls |
| Simon Nash | Jan 15, 2008 2:31 pm | .xls, .xls |
| Simon Nash | Jan 30, 2008 7:58 am | .xls, .xls |
| Mike Edwards | Jan 30, 2008 8:22 am | .xls, .xls |
| Subject: | RE: [sca-j] ISSUE 4 - Dependency reinjection | |
|---|---|---|
| From: | Peshev, Peter (pete...@sap.com) | |
| Date: | Jan 7, 2008 10:18:19 am | |
| List: | org.oasis-open.lists.sca-j | |
HI,
Just to comment on " Targeted Service Undeployed " usecase. According to the OSOA errata submitted in OASIS, unwired references should have the following representation :
"An unwired reference with a multiplicity of 0..1 must be null. An unwired reference with a multiplicity of 0..N must be an empty array or collection"
So perhaps the following representation looks more consistent to that decision :
+---------------------------------------------------------------------------------+ | | | Effect on | | |------------+-----------+---------------------------------+----------------------| |Change Event| Reference |Existing ServiceReference Object |Subsequent Invocations| | | | | of ComponentContext. | | | | |getServiceReference() | |------------+-----------+---------------------------------+----------------------| |Targeted |Reinjection|Business methods SHOULD throw |Returns null or empty | |Service |with null |ServiceUnavialbleException. |collection | |Undeployed |/empty | | | | |collection | | | | |MAY occur | | | +---------------------------------------------------------------------------------+
I would personally would be happy to revisit that decision and say that the "null representation" is not valid for domain level wiring that is subject to change and keep the exception throwing as defined by Reza.
Best Regards
Peter
________________________________
From: Blohm, Henning [[1]mailto:henn...@sap.com] Sent: Monday, 7. January 2008 19:43 To: Mike Edwards; OASIS Java Subject: AW: [sca-j] ISSUE 4 - Dependency reinjection
Hi Reza, Mike,
I am sure that table helps a lot. I believe the component context should always reflect the most current wiring situation (independent of whether re-injection occured or not). That is easiest to understand and implement and otherwise there would be no way of getting to the current wiring (while hoilding on to a service reference is always possible).
It seems that less re-injection is probably safer than more re-injection, so designating an annotation attribute looks like a smart move.
Thanks, Henning
________________________________
Von: Mike Edwards [[2]mailto:mike...@uk.ibm.com] Gesendet: Montag, 7. Januar 2008 10:27 An: OASIS Java Betreff: 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
Change Event
Reference
Existing ServiceReference Object
Subsequent Invocations of ComponentContext. getServiceReference() or cast() Change to the Target of a Reference MAY be reinjected (if other conditions apply). If not reinjected, then it MUST continue to work as if the reference target was not changed. MUST continue to work as if the reference target was not changed. Result corresponds to the injected reference (i.e. changed only if reinjection occurred). Targeted Service Undeployed Target Service becomes Unavailable Business methods SHOULD throw InvalidServiceException. Business methods SHOULD throw InvalidServiceException. Result SHOULD be a reference to the undeployed service. Business methods SHOULD throw InvalidServiceException. Targeted Service Changed MAY continue to work, depending on the runtime and the type of change that was made. If it doesn't work, the exception thrown will depend on the runtime and the cause of the failure. MAY continue to work, depending on the runtime and the type of change that was made. If it doesn't work, the exception thrown will depend on the runtime and the cause of the failure. Result SHOULD be a reference to the changed service.
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...@lists.oasis-open.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
Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.[attachment "Dynamic Modification Behavior.xls" deleted by Mike Edwards/UK/IBM] --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. You may a link to this group and all your TCs in OASIS at: [3]https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
________________________________
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
References
Visible links 1. mailto:henn...@sap.com 2. mailto:mike...@uk.ibm.com 3. https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php






.xls