For one, the stateless session bean is setup
incorrectly. It does not implement
javax.ejb.SessionBean which is a requirement of the
J2EE specification. Maybe it was an error when you
cut-and-pasted your post, but the <project> element in
the build.xml is missing the front "<" character. You
are also better off importing javax.ejb.* instead of
importing single classes/interfaces at a time from
that package since it is so small and it is so easy to
miss importing something necessary from that package.
I would also highly recommend that you read the book
Enterprise JavaBeans by Richard Monson-Haefel (I
believe 4th edition is the latest) to gain a better
understanding of J2EE technology. Additionally, read
through the samples in the XDoclet samples directory
that you downloaded and the XDoclet web site to gain a
better understanding of how to use XDoclet.
Thanks.
--- [EMAIL PROTECTED] wrote:
> I just started using xdoclet and having trouble with
> ejbdoclet:
>
> I am using Ant 1.6.5 on Java 1.4.2 with XDoclet
> 1.2.3. When I run this
> build, I get a ejb-jar.xml that has no information
> in it and no
> generated source. Here is my build.xml,
> build.properties
>
> build.xml
> project name="mtsrv" default="generate-ejb"
> basedir=".">
> <property file="build.properties"/>
> <path id="xdoclet.lib.path">
> <fileset dir="${lib.dir}" includes="*.jar"/>
> <fileset dir="${jboss.lib.dir}" includes="*.jar"/>
> <fileset dir="${xdoclet.lib.dir}"
> includes="*.jar"/>
> <pathelement path="."/>
> </path>
>
> <target name="generate-ejb">
> <mkdir dir="${gen.src.dir}"/>
> <mkdir dir="${ejb.deployment.dir}"/>
> <taskdef name="ejbdoclet"
> classname="xdoclet.modules.ejb.EjbDocletTask"
> classpathref="xdoclet.lib.path"/>
>
> <ejbdoclet destdir="${gen.src.dir}" force="true"
> verbose="true">
> <fileset dir="${src.dir}">
> <include name="**/*Bean.java"/>
> </fileset>
>
> <deploymentdescriptor
> destdir="${ejb.deployment.dir}"/>
>
> <homeinterface/>
> <remoteinterface/>
> </ejbdoclet>
>
> </target>
> </project>
>
> build.properties:
> lib.dir=lib
> xdoclet.lib.dir=C:/DevTools/xdoclet-1.2.3/lib
> jboss.lib.dir=C:/DevTools/jboss-4.0.2/server/all/lib
> src.dir=src
> gen.src.dir=build/gen/src
> ejb.deployment.dir=build/gen/deploy
>
> I have tried to turn on log4j logging to see if I
> can get some insight
> to this problem. lo4j.jar is in the path (its part
> of xdoclet lib
> directory) and I put my log4j.properties in the root
> of my project:
>
> log4j.rootLogger=DEBUG, stdout
>
>
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
>
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
>
> # Pattern to output the caller's file name and line
> number.
> log4j.appender.stdout.layout.ConversionPattern=%5p
> [%c] - %m%n at %l%n
>
> Here is the source for my one EJB:
>
> package com.tfn.autex.mtsrv.server;
>
> import javax.ejb.CreateException;
> import javax.ejb.SessionContext;
>
> import
>
org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
> import
>
org.springframework.ejb.support.AbstractStatelessSessionBean;
>
> import com.tfn.autex.mtsrv.MsgBatch;
> import com.tfn.autex.mtsrv.SendBatchService;
>
> /**
> * @ejb:bean name="SendBatchServiceBean"
> * display-name="SendBatchServiceBean"
> * description="Sends message batch"
> * jndi-name="ejb/SendBatchServiceBean"
> * type="Stateless"
> * view-type="remote"
> * transaction-type="Container"
> *
> * @ejb:home extends="javax.ejb.EJBHome"
> *
> * @ejb:interface extends="javax.ejb.EJBObject"
> *
> * @ejb:env-entry name="serviceName"
> * type="java.lang.String"
> * value="sendBatchService"
> *
> * @ejb:env-entry name="contextKey"
> * type="java.lang.String"
> * value="mtsrv.server"
> *
> * @jboss.container-configuration name="Standard
> Stateless SessionBean"
> *
> * @weblogic max-beans-in-free-pool="100"
> *
> * @author william.poitras
> *
> */
> public class SendBatchServiceBean extends
> AbstractStatelessSessionBean
> implements SendBatchService{
>
> private static final String SERVICE_NAME_PARAM =
> "serviceName";
> private static final String
> LOCATOR_FACTORY_KEY_PARAM =
> "contextKey";
> private SendBatchService sendBatchService;
> protected void onEjbCreate() throws CreateException
> {
> String serviceName =
>
(String)getSessionContext().lookup(SERVICE_NAME_PARAM);
> sendBatchService =
>
(SendBatchService)getBeanFactory().getBean(serviceName);
> }
>
> /**
> * Override the Spring lookup to use a
> SingletonBeanFactoryLocator
> */
> public void setSessionContext(SessionContext
> sessionContext) {
>
> super.setSessionContext(sessionContext);
>
>
>
setBeanFactoryLocatorKey((String)sessionContext.lookup(LOCATOR_FACTORY_K
> EY_PARAM));
>
>
setBeanFactoryLocator(SingletonBeanFactoryLocator.getInstance());
> }
>
> public void send(MsgBatch msgs) {
> sendBatchService.send(msgs);
> }
> }
>
> Any idea why either I getting no code nor any log4j
> output?
>
>
>
-------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content,
> downloads, discussions,
> and more.
> http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> xdoclet-user mailing list
> [email protected]
>
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
>
__________________________________
Start your day with Yahoo! - Make it your home page!
http://www.yahoo.com/r/hs
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
xdoclet-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user