Blueprint supports two kinds of dependencies, implicit, which
dependencies that come from injecting A into B (such as via a
property, constructor arg or a ref on service definition etc), and
explicit, which are defined by the "depends-on" attribute. Dependent
beans are constructed after their dependencies. However, for beans
that are not dependent on one another either way, blueprint gives no
guarantee of any specific ordering.
So if you wanted a specific ordering you can most easily achieve that
by specifying the "depends-on" attribute for each of your beans.
Although of course that is not quite best practice ;)
For reference see 121.2.4 of the spec.
Regards,
Valentin
On 16 Dec 2009, at 00:52, Forrest Xia wrote:
Hi Valentin,
Thank you for quick response. Now I understood it.
By default, the service reference resolution is mandatory, so this
implicitly means service registration and consumption is better not
in the
same bundle.
I see callservicebean can use the serverbean1 directly, just I want to
practice the service and service reference concepts :-)
btw, another question comes out when I am doing practice. Is there any
attribute or element to tell bluerprint extender the order of bean
initialization? If there are many beans defined in the same bundle,
what
order will they be initialized?
Forrest