The A.startService method must return before B.startService will be called. Are your doing asynch processing in A.startService?
I am also interested in this issue. For instance we have our own PersistenceService which is based on JCA Connectors, and another JMX Service handles some corba services. So others need them to be started up.
The only way we handled this is to perform a waiting loop and polling the services if they are started up. But is there no other way to do this, via a notification mechanism for instance?