I've created a near-clone of the Stateless test bean in my own class
heirarchy and it will not deploy. I am completely baffled by the idea that
It can't see javax.ejb.EJBHome. This was done with today's CVS (~2:00p EST).
I originally had this problem with another EJB and tried to reduce it to the
simplest case. Note the TestBeans that included with the CVS all deploy. Any
Ideas?
error message and code follow...
<ErrorMessage>
[Container factory]
Deploying:file:/C:/temp/jboss/jboss/dist/deploy/TestBean.jar
[Auto deploy] Auto deploy of
file:/C:/temp/jboss/jboss/dist/deploy/TestBean.jar
at java.lang.ClassLoader.defineClass0(Native Method)
[Container factory] java.lang.NoClassDefFoundError: javax/ejb/EJBHome at
java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.jboss.metadata.ejbjar.EJBXMLReader.loadClass(EJBXMLReader.java:251)
at
org.jboss.metadata.ejbjar.EJBXMLReader.endElement(EJBXMLReader.java:152)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1413)
at com.sun.xml.parser.Parser.content(Parser.java:1499)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1400)
at com.sun.xml.parser.Parser.content(Parser.java:1499)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1400)
at com.sun.xml.parser.Parser.content(Parser.java:1499)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1400)
at com.sun.xml.parser.Parser.parseInternal(Parser.java:492)
at com.sun.xml.parser.Parser.parse(Parser.java:284)
at
org.jboss.metadata.ejbjar.EJBXMLReader.readXML(EJBXMLReader.java:40)
at
org.jboss.ejb.deployment.jBossFileManager.load(jBossFileManager.java:169)
at
org.jboss.ejb.deployment.jBossFileManager.load(jBossFileManager.java:298)
at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:278)
at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:183)
at java.lang.reflect.Method.invoke(Native Method)
at javax.management.MBeanServer.invoke(MBeanServer.java:1635)
at javax.management.MBeanServer.invoke(MBeanServer.java:1501)
at org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:258)
at org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:194)
at org.jboss.ejb.AutoDeployer.startService(AutoDeployer.java:237)
at
org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:89)
at java.lang.reflect.Method.invoke(Native Method)
at javax.management.MBeanServer.invoke(MBeanServer.java:1635)
at javax.management.MBeanServer.invoke(MBeanServer.java:1501)
at org.jboss.Main.<init>(Main.java:155)
at org.jboss.Main.<init>(Main.java:86)
at org.jboss.Main$1.run(Main.java:76)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.Main.main(Main.java:67)
[Auto deploy] Deployment
failed:file:/C:/temp/jboss/jboss/dist/deploy/TestBean.jar
[Auto deploy] org.jboss.ejb.DeploymentException: Could not deploy
file:/C:/temp/jboss/jboss/dist/deploy/TestBean.jar
[Auto deploy] at
org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:183)
[Auto deploy] at
org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:514)
[Auto deploy] at java.lang.reflect.Method.invoke(Native Method)
[Auto deploy] at
javax.management.MBeanServer.invoke(MBeanServer.java:1501)
[Auto deploy] at
javax.management.MBeanServer.invoke(MBeanServer.java:1635)
[Auto deploy] at org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:194)
[Auto deploy] at
org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:89)
[Auto deploy] at
javax.management.MBeanServer.invoke(MBeanServer.java:1635)
[Auto deploy] at org.jboss.Main.<init>(Main.java:155)
[Auto deploy] at org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:258)
[Auto deploy] at
org.jboss.ejb.AutoDeployer.startService(AutoDeployer.java:237)
[Auto deploy] at java.lang.reflect.Method.invoke(Native Method)
[Auto deploy] at
javax.management.MBeanServer.invoke(MBeanServer.java:1501)
[Auto deploy] at org.jboss.Main.<init>(Main.java:86)
[Auto deploy] at java.security.AccessController.doPrivileged(Native
Method)
[Auto deploy] at org.jboss.Main$1.run(Main.java:76)
[Auto deploy] at org.jboss.Main.main(Main.java:67)
[Auto deployer] Started
[Default] Shutdown hook added
[Default] jBoss 2.0 Started
</ErrorMessage>
<code>
<ATestHome.java>
package com.zenimax.storefront.appserver.zml.modules;
import javax.ejb.*;
import java.rmi.*;
public interface ATestHome extends EJBHome {
public ATest create() throws java.rmi.RemoteException,
javax.ejb.CreateException;
}
</ATestHome.java>
<ATest.java>
package com.zenimax.storefront.appserver.zml.modules;
import javax.ejb.*;
import java.rmi.*;
public interface ATest extends EJBObject {
public void callBusinessMethodA() throws RemoteException;
public String callBusinessMethodB() throws RemoteException;
public String callBusinessMethodC() throws RemoteException;
}
</ATest.java>
<ATestBean.java>
package com.zenimax.storefront.appserver.zml.modules;
import java.rmi.*;
import javax.ejb.*;
import javax.naming.InitialContext;
import javax.naming.Context;
public class ATestBean implements SessionBean {
private SessionContext sessionContext;
public void ejbCreate() throws RemoteException, CreateException {
System.out.println("StatelessSessionBean.ejbCreate() called");
}
public void ejbActivate() throws RemoteException {
System.out.println("StatelessSessionBean.ejbActivate() called");
}
public void ejbPassivate() throws RemoteException {
System.out.println("StatelessSessionBean.ejbPassivate() called");
}
public void ejbRemove() throws RemoteException {
System.out.println("StatelessSessionBean.ejbRemove() called");
}
public void setSessionContext(SessionContext context) throws
RemoteException {
System.out.println("StatelessSessionBean.setSessionContext() called");
sessionContext = context;
}
public void callBusinessMethodA() {
//Do nothing just make sure the call works
System.out.println("StatelessSessionBean.callBusinessMethodA()
called");
}
public String callBusinessMethodB() {
System.out.println("StatelessSessionBean.callBusinessMethodB()
called");
try {
Context context = new InitialContext();
String name = (String)
context.lookup("java:comp/env/myNameProp");
return "from the environment properties my name is "+name;
}catch (Exception e) { return "Error in the lookup of properties
"+e.getMessage();}
}
public String callBusinessMethodC() {
System.out.println("StatelessSessionBean.callBusinessMethodD()
called");
try {
Context context = new InitialContext();
String name = (String)
context.lookup("java:comp/env/subContext/myNameProp");
return "from the environment properties (subContext) my name is
"+name;
}catch (Exception e) { return "Error in the lookup of properties
"+e.getMessage();}
}
}
</ATestBean.java>
</code>
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]