EJB 2.x EJB 3.0
Implements javax.ejb.MessageDriven POJO: May annotate with @MessageDriven
Specify destination type, name, and so on in the deployment descriptor. May be annotated with @ActivationConfigProperty
MessageDrivenContext is acquired using setMessageDrivenContext(). MessageDrivenContext is achieved using dependency injection—for example: @Inject javax.ejb.MessageDrivenContext mc;
Resource usage, such as Queue or Topic, is required resource-ref in the deployment descriptor and JNDI lookup. Can be used using dependency injection: @Inject private Queue destQueue;

Table 2 MDB Migration
MDBs do not have to implement the javax.ejb.MessageDriven interface in EJB 3.0, but they can instead be annotated with @MessageDriven.