The figure shows that the ejb-jar shud have the Advice.class and AdviceHome.class. But the spec says that container implemented classes shud not be kept in the jar file. So I think the figure shud say Advice and AdviceHome interfaces.
Advice.class and AdviceHome.class are not container implemented classes. By container implemented classes spec means that classes genertared by container which implements EJBObject and EJBHome interface. Stub sud also not included in the jar.
Thanks Swetha!!! But I thought that we just wrote the interfaces and its the container's business to write classes implementing those interfaces. So the .class files are created by the container. Thats what HFE Pg 87-88 says. It says "Container has to write the class that implements your component interface and has to make the stub that goes with that EJBObject" Even spec24.3 bullet point 2 says "The Enterprise bean home, component and/or web service endpoint interfaces" not the class files. [ February 05, 2004: Message edited by: Sudhir ]
Hi Sudhir, I think I know where your confusion lies. The .class files that you include in the ejb-jar are the compiled INTERFACES. Don't assume that because a file has a .class extension that it is an implementation class. The container is responsible for creating the classes that implement those INTERFACES. Advice.class and AdviceHome.class are the compiled ITERFACES that you wrote. The container will implement these interfaces with concrete classes. Hope this helps.