Hi Sami, I had the same problem when first trying out XDoclet, but was able to overcome it. I've currently got a setup like the one you're describing, where a SessionBeanSupport class provides basic implementations of the plumbing methods and MySessionBean, for instance, extends SessionBeanSupport and implements real business logic. Below are the XDoclet tags in my implementation class (MySessionBean, for example), which should help you out.
* @ejb.bean name="MySessionBean" * description=" example bean" * jndi-name="ejb/MySessionBean" * type="Stateless" * transaction-type="Container" * remote-business-interface="com.bfd.ejb.MyInterface" * local-business-interface="com.bfd.ejb.MyInterface " * * @ejb.interface remote-class="com.bfd.interfaces.MyRemote" * local-class="com.bfd.interfaces.MyLocal" * local-extends="javax.ejb.EJBLocalObject" * extends="javax.ejb.EJBObject" * * @ejb.home remote-class="com.bfd.interfaces.MyHome" * local-class="com.bfd.interfaces.MyLocalHome" * local-extends="javax.ejb.EJBLocalHome" * extends="javax.ejb.EJBHome" I explicitly state the fully qualified names of the remote & local home and business interfaces. Having tags similar to these in the implementation class should produce the result you're looking for. I also use the remote-/local-business-interface tag to ensure compile time compatibility between my bean implementation and its various interfaces. That's nothing to do with your post, but something I've found helpful as it catches discrepancies before you deploy and saves a little bit of head scratching occasionally. Lastly, to be sure, you do need to keep the generate="false" tag in your base sessionbean class (GenericSessionBean, I believe). Best, jonMC -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Sami Lempinen Sent: Saturday, February 01, 2003 3:32 AM To: [EMAIL PROTECTED] Subject: [Xdoclet-user] EJB inheritance - still unresolved? Greetings! I read back the list archives a little, and found some discussion about the subject, but no clear resolution. I apologise if the matter is already clear. I have a base class for all session beans that provides certain standard services to child classes (logging etc.), defined as public abstract class GenericSessionBean implements SessionBean I then have other session beans that extend this base class, such as public class PropertyManagerBean extends GenericSessionBean implements SessionBean By default, Xdoclet seems to have the interfaces generated from PropertyManagerBean extend the interfaces in GenericSessionBean, which is not what I want. I only want the bean implementation extended, not the interfaces, since this generates other problems related to the create method signatures etc. I tried the suggested @ejb.bean generate="false" in GenericSessionBean, to no avail. The only way to achive what I want is to remove the "implements SessionBean" from GenericSessionBean, which seems a little suspect. Is there way to extend only the implementation and not the interfaces? Thanks! -Sami -- [EMAIL PROTECTED] VHF: Ilmaris / OG 9799 GSM: +358504876750 http://lempinen.net/veneveppi/ ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user
