Just read this great post on JavaRanch by J. Aotearoa :
"I used the specifications as my primary source of information. I didn't use MK's notes as they're basically the various specifications repeated verbatim.
The only book I used, which I'd definitely recommend, was Pro EJB 3. The author was one of the people involved in writing the JPA spec so you know you're getting the right perspective.
As for how I structured my work; I read the specifications cover to cover, making notes on each of the exam objectives as I went. As with all specifications the language can be quite repetitive so having condensed notes on the pertinent points can reduce the volume significantly.
A lot of the concepts can also be represented in tabular form so I created a few quick reference tables for things like transactional semantics, exception handling, EntityManager types and operations etc.
I used Glassfish to run any code I wrote for the purposes of testing concepts I wasn't 100% sure on - it's the reference implementation so why make your like complicated using JBoss or some other app server.
I also did as many practice question as I could get my hands on, including Sun's 2 practice exams and EnthuWare's EJB plus V5. I can't stress enough the value of doing practice questions. Not only does it get you in the habit of thinking like an examiner but it also reminds you to READ THE QUESTION! (Not that I noticed any so called trick questions in the real thing).
I was getting 90% plus on the Sun's practice exams, slightly less on the EnthuWare ones which are definitely harder than the real thing. I also spent a lot of time reviewing the answers to any practice exams, i.e. making sure I not only understood why the correct answer was correct, but also why all the other answers were wrong.
I hope this helps - good luck to you all."
Thanks Jonathan. That's some great info!