Are you ready?
To set the scene, I have many years software engineering under my belt, the last seven have been pure Java/J2EE.
Well, here are a few thoughts:
Part 1: IMHO Part 1 can be passed by anybody prepared to read enough. It's a classic 'cram and pass' exam but the subject matter is wide, so the more Java experience you have the better.
I prepared for it inside a month and passed with 85%.
Part 2: This requires that you have sufficient experience designing software using J2EE to complete it in a reasonable timeframe. You need to be comfortable with UML - there is a fair bit of modelling involved - and have enough experience to make the architectural and design decisions and know why you are making them. Understand what
patterns to apply and where, and again why.
I took about 80-90 hours over six weeks to prepare my submission.
Part 3: Is basically about justifying your design. Knowing why you took the decisions you did, demonstrating that you understand your own submission. I'm sitting that tomorrow morning...
In summary, if you only have your 3 years of Java/J2EE to call on, and mostly in design and code, you will pass part 1 but may struggle to complete part 2 to the required standard.
If on the other hand you have prior non-Java experience and some experience of architecting a solution (writing a Software Architecture Document solo, or as the lead) then you should be OK.
Books: I used the Mark Cade book and Head First EJB, most of my EE experience was around the web tier (not much EJB), it provides an excellent condensed guide, you should be prepared to read in further using other material (e.g. the O'Reilly Head First series) on any subject you aren't comfortable you know. Remember you need to know how to architect and design, not code in minute detail.
Good Luck.