[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: JAVA-143: Proposed resolution
I would like to revise my proposed resolution to this issue in the light of the discusssion and proposed direction for resolving JAVA-131. If the currently proposed resolution to JAVA-131 is accepted, it would be valid to inject null for an optional reference and then re-inject a non-null value later. In this case, the null value would mean that no target for the reference is currently available, and the target would become available later as described by the rules for re-injection in section 10.17.1 of JavaCAA. As an example to illustrate this, consider the case of two components A and B that have cyclic references to each other (as fields or setter methods), where A's reference to B and B's reference to A are both optional. The first bulleted option of JCI50003 would require the SCA runtime to do something like the following: 1. create instance of A 2. inject null value for A's reference to B 3. drive A's @Init method (A can't invoke B because of the null reference) 4. create instance of B 5. inject null value for B's reference to A 6. drive B's @Init method (B can't invoke A because of the null reference) 7. inject B instance into A's reference 8. inject A instance into B's reference 9. make A and B available for service invocations I think the above works OK, so I am now proposing to close JAVA-143 with no action. Simon
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]