I am having a similar problem. Right now I just catch the null pointer exception, log it, and sleep. That seems hokey.
Is there an event or state somewhere I can test for? Or, I guess specifying the Service bean to start after the EJBs are available would be ok too.
I now have the answer. It took a while to figure this one out as the documentation is a bit thin. You need the @Depends annotation. It can be applied to your MBean class. The syntax is a bit obscure, but it should look something like: