Deployment problem I cannot solve
mtedone1 May 4, 2004 1:50 AMHi, I've searched on the Internet, and although it seems quite a common
problem, it seems there is no a certain solution.
I deployed a couple of EJBs (two sessions and one entity) and I obtain the
following exceptions on the JBoss console:
Bean : FakeData Section: 22.2 Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb- class> element. Info : Class not found on 'org.jemos.entity.FakeDataCMP': Unexpected error during load of: org.jemos.entity.FakeDataCMP, msg=org/jemos/entity/FakeDa taBean 00:46:37,750 WARN [verifier] EJB spec violation: Bean : FakeDataModel Section: 22.2 Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb- class> element. Info : Class not found on 'org.jemos.sessions.FakeDataModelSession': Unexpected error during load of: org.jemos.sessions.FakeDataModelSession, msg=o rg/jemos/sessions/FakeDataModelBean 00:46:37,750 WARN [verifier] EJB spec violation: Bean : FakeDataHolder Section: 22.2 Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb- class> element. Info : Class not found on 'org.jemos.sessions.FakeDataHolderSession': Unexpected error during load of: org.jemos.sessions.FakeDataHolderSession, msg =org/jemos/sessions/FakeDataHolderBean
Here follows the content of ejb-jar.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> <ejb-jar > <description><![CDATA[No Description.]]></description> <display-name>Generated by XDoclet</display-name> <enterprise-beans> <!-- Session Beans --> <session > <description><![CDATA[]]></description> <ejb-name>FakeDataModel</ejb-name> <home>org.jemos.intf.FakeDataModelHome</home> <remote>org.jemos.intf.FakeDataModel</remote> <local-home>org.jemos.intf.FakeDataModelLocalHome</local-home> <local>org.jemos.intf.FakeDataModelLocal</local> <ejb-class>org.jemos.sessions.FakeDataModelSession</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> <session > <description><![CDATA[]]></description> <ejb-name>FakeDataHolder</ejb-name> <home>org.jemos.intf.FakeDataHolderHome</home> <remote>org.jemos.intf.FakeDataHolder</remote> <local-home>org.jemos.intf.FakeDataHolderLocalHome</local-home> <local>org.jemos.intf.FakeDataHolderLocal</local> <ejb-class>org.jemos.sessions.FakeDataHolderSession</ejb-class> <session-type>Stateful</session-type> <transaction-type>Container</transaction-type> </session> <!-- To add session beans that you have deployment descriptor info for, add a file to your XDoclet merge directory called session-beans.xml that contains the <session></session> markup for those beans. --> <!-- Entity Beans --> <entity > <description><![CDATA[]]></description> <ejb-name>FakeData</ejb-name> <home>org.jemos.intf.FakeDataHome</home> <remote>org.jemos.intf.FakeData</remote> <local-home>org.jemos.intf.FakeDataLocalHome</local-home> <local>org.jemos.intf.FakeDataLocal</local> <ejb-class>org.jemos.entity.FakeDataCMP</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>org.jemos.intf.FakeDataPK</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>FakeData</abstract-schema-name> <cmp-field > <description><![CDATA[]]></description> <field-name>id</field-name> </cmp-field> <cmp-field > <description><![CDATA[]]></description> <field-name>firstName</field-name> </cmp-field> <cmp-field > <description><![CDATA[]]></description> <field-name>lastName</field-name> </cmp-field> <cmp-field > <description><![CDATA[]]></description> <field-name>address1</field-name> </cmp-field> <cmp-field > <description><![CDATA[]]></description> <field-name>address2</field-name> </cmp-field> <query> <query-method> <method-name>findAll</method-name> <method-params> </method-params> </query-method> <ejb-ql><![CDATA[]]></ejb-ql> </query> <!-- Write a file named ejb-finders-FakeDataBean.xml if you want to define extra finders. --> </entity> <!-- To add entity beans that you have deployment descriptor info for, add a file to your XDoclet merge directory called entity-beans.xml that contains the <entity></entity> markup for those beans. --> <!-- Message Driven Beans --> <!-- To add message driven beans that you have deployment descriptor info for, add a file to your XDoclet merge directory called message-driven-beans.xml that contains the <message-driven></message-driven> markup for those beans. --> </enterprise-beans> <!-- Relationships --> <!-- Assembly Descriptor --> <assembly-descriptor > <!-- To add additional assembly descriptor info here, add a file to your XDoclet merge directory called assembly-descriptor.xml that contains the <assembly-descriptor></assembly-descriptor> markup. --> <!-- finder permissions --> <!-- finder permissions --> <!-- finder permissions --> <!-- transactions --> <container-transaction > <method > <ejb-name>FakeData</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> <!-- finder transactions --> </assembly-descriptor> </ejb-jar>
The jar file contains all the classes that the deployer can't find, and
under META-INF there are the following files:
ejb-jar.xml
jboss.xml
jbosscmp-jdbc.xml
Please help,
Marco