Hi.  I have the following statefull session bean that xdoclet will not generate interfaces for.  However, xdoclet seems to work on my other beans.  I have tried chaning the bean name, the package name, etc... and nothing seems to get xdoclet to recognize it.  Here is the bean (note I tried it without the local-extends attribute as well).
 
ComponentEJBBean.java
/*
 * Created on Oct 27, 2003
 *
 */
package com.crysalis.cat.core.componentejb;
 
import java.rmi.RemoteException;
 
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
 
import com.crysalis.cat.core.*;
 
import java.lang.reflect.*;
 
/**
 * @author Mike N. Christoff
 *
 * @ejb.bean  name="system/ComponentEJBLocal"
 *     type="Stateful"
 *     local-jndi-name="ejb/system/ComponentEJBLocalHome"
 *     transaction-type="Container"      
 *
 * @ejb.interface generate="local"
 *     local-class="com.crysalis.cat.core.componentejb.ComponentEJB"
 *     local-extends="javax.ejb.EJBLocalObject,com.crysalis.cat.core.Invokable"
 *      
 *
 * @ejb.home  generate="local"
 *     local-class="com.crysalis.cat.core.componentejb.ComponentEJBLocalHome"
 *      
 * @ejb.util  generate="physical"
 *
 **/
public class ComponentEJBBean
 implements SessionBean
{
 private SessionContext ctx;
 private TradingStrategyComponent tsc;
 private Class tscClass;
 
 /**
  * @ejb.interface-method view-type="local"
  */
 public void setComponent(TradingStrategyComponent tsc)
 {
  this.tsc = tsc;
  tscClass = tsc.getClass();
 }
 
 /**
  * @ejb.interface-method view-type="local"
  */
 public InvocationResponse invoke(Invocation inv)
 {
  Method m;
  try {
   
   m = tscClass.getDeclaredMethod(inv.methodname, inv.parameterTypes);
   m.invoke(tsc,inv.args);
   
  }catch(NoSuchMethodException nsm) {
   nsm.printStackTrace();
  }catch(InvocationTargetException it) {
   it.printStackTrace();   
  }catch(IllegalAccessException ia) {
   ia.printStackTrace();   
  }
  return null;  
 }
 
 public void setSessionContext(SessionContext ctx)
  throws EJBException, RemoteException
 {
  this.ctx = ctx;
 }
 
 /**
  * @ejb.create-method view-type="local"
  **/
 public void ejbCreate()
 {
 }
 
 public void ejbRemove()
  throws EJBException, RemoteException
 {
 }
 
 public void ejbActivate()
  throws EJBException, RemoteException
 {
 }
 
 public void ejbPassivate()
  throws EJBException, RemoteException
 {
 }
}
-----------------
 
I personally can't see anything wrong with it.  Thanks for any pointers.
 
 
 
l8r, Mike N. Christoff
 

Reply via email to