OK. I usually have this kind of short-circuits when I get too deep into something. I am preparing to take the SCBCD exam and towards that, I am studying from, amongst other resources, Valentin's cheet-sheets. These are really effective Valentin. Thank you. One question I have is: consider the Entity Beans life-cycle diagram. How do you decode the color coding? Consider ejbCreate<Method>(args) for example. Does he (or if you read this Valentin, you) mean that ejbCreate is only allowed to call methods for Tx+Sec+Res categories or is it inclusive, i.e., that it is not only allowed to call methods in Tx+Sec+Res categories but also ID and Home+JNDI categories as well? The reason I am asking this is that I know you do not have the primarykey established before the ejbCreate method finishes and therefore you cannot call the getPrimaryKey method of EntityContext in it but have to wait until it finishes and call it in ejbPostCreate instead. Trouble is: the cheat sheet shows that ejbCreate and ejbPostCreate both are in the "BLUE" color zone indicating same levels of calling priviledges. May be I am not interpreting his coloring scheme right? Another point which is a side note: the life-cycle diagram for the Message-driven beans with BMT seems to have a small error. setMessageDriven context(mdc) has been shown to have both HOME+JNDI priviledges. I think he means only JNDI since there is no client for MDB which invalidates HOME category? Appreciate your feedback. Regards. Bharat
Hey Bharat: The way that I interpret the coloring scheme is as follows. I imagine that the colored areas are separate overlapping sheets of cutout paper. You can determine the access priviledges of a method by sticking a pin through the method name and if the pin goes through a particular color then it will have the priviledges associated with that color. For example, in the entity beans diagram, if you stick a pin through ejbSelect() it would not pass through any colors, if you stick a pin through setEntityContext() it would only pass through the red sheet, if you stick a pin through ejbPassivate() then it would pass through the yellow and red sheet, and if you stick a pin through ejbRemove() it would pass through all three colors. In the of ejbCreate(), a pin would pass through blue and red whereas for ejbPostCreate()a pin would pass through blue, red and yellow. Since yellow indicates access to getPrimaryKey(), ejbCreate would not have this access and ejbPostCreate() would. As you mentioned, it does appears that the BMT side of the message driven bean side is in error. It shouldn't have access to home. Can anyone please confirm or deny this? Hope this helps.
Thank you for your helpful feedback about my cheat sheets keith, I really like your idea of overlapping paper sheets and pin, it does make perfect sense and that is the whole idea behind that I have corrected the error related to the setMessageContext method in the BMT MDB. Thank you very much for your feedback. I wish I had more time to finalize the remaining cheat sheets about transactions and stuff, but as everyone knows time is a pretty scarce resource I promise I will deliver them sometimes, as well as a brand new mock exam for the SCBCD exam in the same spirit as the other one for the SCJP exam. Good luck and happy studying
Hello Valentin, Thanks for providing us access to your excellent work. I am using your cheat-sheets constantly and it is helping refine my understanding of the important EJB concepts like never before. It is great to have such a nice bird's eye view without compromising on the details. Now if you just had the cheat-sheets for transactions and exceptions.... Regards. Bharat