You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "Ballard, Ken" <Ke...@ACS-INC.com> on 2005/07/19 22:52:32 UTC

Problem using AbstractStatelessSessionBean with Maven's XDoclet p lugin

Thanks, again to Dennis Geurts for getting me most of the way there. I'm
much closer now. I'm generating stuff. The problem is that my EJBs use
Springs EJB support classes, so instead of implementing
javax.ejb.SessionBean they extend
org.springframework.ejb.support.AbstractStatelessSessionBean.
AbstractStatelessSessionBean implements javax.ejb.SessionBean, but I
implement javax.ejb.SessionBean again because that was the only way to get
XDoclet to work with it when I was working with ANT. When I adapted Dennis'
example, the sources files that were generated extended fictitious classes
like, in the case of the remote interface,
org.springframework.ejb.support.AbstractStatelessSessionRemote when it
should have been javax.ejb.EJBObject. It did that for all of the interfaces
that it generated. 

 

The class with the xdoclet tags looks like this:

 

/**

 * XDoclet-based session bean. The class must be declared public according
to

 * the EJB specification. To generate the EJB related files to this EJB: -
Add

 * Standard EJB module to XDoclet project properties - Customize XDoclet

 * configuration for your appserver - Run XDoclet Below are the
xdoclet-related

 * tags needed for this EJB.

 * 

 * @ejb.bean name="ReportingService" display-name="DFS Reporting Service"

 *           description="Session facade for the jBPM workflow engine"

 *           jndi-name="ejb/ReportingService" type="Stateless"
view-type="both"

 *
local-business-interface="com.acs.nc.dfs.common.report.ReportingService"

 * @ejb.env-entry name="ejb/BeanFactoryPath" type="java.lang.String"

 *                value="applicationContext.xml"

 * @author kballard

 */

public class ReportingServiceEJB extends AbstractStatelessSessionBean
implements

            ReportingService, SessionBean {

 

...

}

 

And the one I used to be able to generate with XDoclet looks like this:

 

/*

 * Generated by XDoclet - Do not edit!

 */

package com.acs.nc.dfs.common.report.ejb;

 

/**

 * Remote interface for ReportingService.

 * @xdoclet-generated at ${TODAY}

 * @copyright The XDoclet Team

 * @author XDoclet

 * @version ${version}

 */

public interface ReportingServiceRemote

   extends javax.ejb.EJBObject

{

...

}

 

It seems to be substituting the word "Bean" in AbstractStatelessSessionBean
with "Remote," "Local," etc. respectively. Any ideas about how I can correct
this?

 

Thanks,

Ken

 

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is
for the sole use of the intended recipient(s) and may contain confidential
and privileged information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message.