Creating a basic Message Driven Bean is quite straightforward, the hard part is setting up the WebSphere Application Server embedded JMS details and making sure your deployment references the correct details.
An MDB is invoked asynchronously when a JMS message is put on a destination. The destination needs to be known before deployment as the soon to be created .EAR, holding our MDB, contains a deployment descriptor - ejb-jar.xml - that references the destination. Part of the deployment process, via the WebSphere Administrative Console, also references a JMS activation specification that can be said to be part of setting up the embedded JMS.
Set up WAS embedded JMS 1. Create a new Service Integration Bus, called "B1":
- Service Integration > New > accept all defaults
2. Assign "B1" to the Server, accepting all the defaults:
- Service Integration > Buses > B1 > Bus members

3. On "B1" create a destination, "Q1", accepting all defaults:
- Service Integration > Buses > B1 > Destinations > New > Queue
4. Create a new JMS queue, accepting all defaults unless shown below:
- Resources > JMS Providers > Default messaging provider @ Server level > JMS queue
- Name = JMS_Q
- JNDI name = jms/JMS_Q1
- Bus name = B1
- Queue name = Q1
- Delivery mode = Persistent

5. Create a new JMS connection factory, accepting all defaults unless shown below:
- Resources > JMS Providers > Default messaging provider @ Server level > JMS connection factory
- Name = JMS_CF1
- JNDI name = jms/JMS_CF1
- Bus name = B1

6. Create a new JMS queue connection factory, accepting all defaults unless shown below:
- Resources > JMS Providers > Default messaging provider @ Server level > JMS queue connection factory
- Name = JMS_QCF1
- JNDI name = jms/JMS_QCF1
- Bus name = B1

7. The final part is creating an activation specification:
- Resources > JMS Providers > Default messaging provider @ Server level > JMS activation specification > New
- Name = JMS_AS1
- JNDI name = eis/JMS_AS1
- Destination Type = Queue
- Destination JNDI name = jms/JMS_AS1
- Bus name = B1

8. In order for WAS to recognise the JMS details we've just created unfortunately we need to restart WAS.
Use RAD to construct a very simple MDB & deploy it 1. You'll end up with 3 very small projects, the key files are the ejb-jar.xml deployment descriptor...

...and the bean itself (notice the onMessage method I've fleshed out)

2. Deploy the .EAR file and provide the following information for the activation specification of:
- JNDI name = eis/JMS_AS1
- Destination JNDI Name = jms/JMS_Q1

3. Test the MDB is listening by sending a message with the Universal Test Client:
- http://localhost:9081/UTC/initialize?port=2810&wasAdminPort=2810&wasAdminConn=RMI > Utilities > Send JMS Message
- Queue JNDI Name = jms/JMS_Q1
- Queue CF JNDI Name = jms/JMS_QCF
- Message = hello world
- if the MDB is not deployed then look in: Buses > B1 > Destinations > Q1 > Queue points > Q1@jsears-desktopNode01.server1-B1 >
- else, look in the console window (as we had System.out logging there from the MDB):