OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

sca-j message

[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.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]