Я бы сказал, что когда вызывается setMessageDrivenContext
, это ваш компонент развернут - вы знаете, что контейнер имеет контекст и назначил его для вашей MDB.
Проблема вашего дизайна в том, что MDB являются пассивными компонентами, они не должны делать что-либо до тех пор, пока им не будет доставлено сообщение.