Note that the HFE statement isn't saying that 1 particular MDB instance processes messages concurrently. It is saying that the container can use multiple instances of the same type to process multiple messages. Any 1 instance is only handling one message at a time. Same thing is true for the other bean types. Bean instance use is thread-safe. The container can use however many instances it wants (or has been configured to use), but each instance is only serving one request at a time.