A is the declaration of a Home interface, except its is declared as implementing EJBLocalObject. This valid in a java point of view, but it is not valid regarding the <b>EJB Law</b>. And for the exam, you must check that code excerpts respect <b>both laws</b>.
Apart from this question, did you come across any statement in the spec or somewhere else which stipulates such a EJB law?
If you define a create method in the home interface, a matching ejbCreate in the bean class, then you define a create method in the component interface and a matching create method in the bean class - what's wrong? I don't see (or did I forget) any rule saying that the name of business methods defined in component interface must not be "create" or "find" or something else...
posted 14 years ago
I didn't see this for business methods, but for home business methods.
But anyway, what is given in option A is clearly a create method, returning the Component interface. This kind of methods must be in the home interface, and not in the component interface.
Bean law definitely exists. For example, the create method is not "java-mandatory", even for a stateful session bean, but it is mandatory in such a bean, according to bean law. And try to deploy a stateful session bean without a create method...