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