TARGET: Java Common Annotations and APIs specification
The description of the @Reference annotation does not specify what happens if
the wire changes after the component has been instantiated. One example of a
place where this could occur is for a composite-scoped component that exists
at the domain level. The target of its reference could start off unwired (and
thus would be null). A later deployment could deploy a <wire source=""
target=""> element which provides a target for this component.
In the above scenario, when constructor-based injection is not being used, the
target MAY be reinjected.
This would be marked as "MAY" behavior, since it would not be required of all
runtimes. However, the developer who is creating portable code needs to know
that this reinjection may occur.
Other scenarios where such reinjection may occur is TBD. Note that
reinjection should never occur for a conversational-scoped component that is
in middle of its conversation.