- I think that you should have worked with JEE & EJB at least 1 year before. Otherwise you will forget all in one year.
- read EJB 3 in Action, or better Enterprise JavaBeans 3.1 OReilly (skip the JPA & WS stuff), annotate what you think it's important (adobe 10 lets you do that). Once, and then read it again, but just the annotations.
- read the API for all classes/annotations involved (I found 100 classes/interfaces/annotations related to the Exam).
- for each annotation try on your own the XML version, look at the ejb-jar.xml XSD schema.
- do the Enthuware tests, there are 4 test, do them twice.
- install yourself Glassfish (with JBoss you can't test security) and do a POC (proof of concept) for everything that you think worhts it and to answer all your questions.
- read the JEE 6 tutorial from Oracle (just the parts that are related to the exam: JMS, Asynchronous, and so on)
ps: I had a question that I wasn't sure about, but the previous knowledge from SCJP helped me figure it out.
ps2: the exam it's a little bit trickier then the tests
ps3: make a table with all types of 'methods' and the restrictions, the signature, transaction, security, ok in SFSB, nok in MDB, something like this:
- aroundInvoke: any access modifier, signature, same transaction & security context as the caller
- asynchronous: different transaction from the caller, can't throw CheckedException if returns void, signature, can't be on MDB
- business method:
- lifecycle: void, no Checked Exception, signature, no transaction, no security
- timeout: different transaction from the caller (creator of the timer), signature, no security, can't be in SFSB (this seems logical)
- remove: can't call it if an open (multiple method spanning) transaction exist, bla bla