Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin
Bartenders:
  • Lou Hamers
  • Piet Souris
  • Frits Walraven

Jboss doesn't deploy CMP entity bean because the bean is defined as abstract????

 
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When I deploy the following CMP entity bean, Jboss complains that it should not be declared as Abstract class. Can anyone show me what I did wrong? I thought the ejb spec says that the CMP entity bean must be defined as abstract??? Thanks
Here is the class definition:
public abstract class EntityUserBean implements EntityBean {

private EntityContext context;

public String getID(){
return this.getIdXX();
}

public abstract String getIdXX();
public abstract void setIdXX(String id);

public void setEntityContext(EntityContext ctx){
context = ctx;
}
public void unsetEntityContext(){ }
public void ejbLoad() {}
public void ejbStore() { }
public void ejbActivate(){}
public void ejbPassivate(){}
public void ejbRemove(){}

}
ejb-jar.xml:
<entity>
<ejb-name>User</ejb-name>
<local-home>com.ejb.EntityUserHome</local-home>
<local>com.ejb.EntityUser</local>
<ejb-class>com.ejb.EntityUserBean</ejb-class>
<abstract-schema-name>UserSchema</abstract-schema-name>
<persistence-type>Container</persistence-type>
<cmp-version>2.x</cmp-version>
<reentrant>False</reentrant>
<prim-key-class>java.lang.String</prim-key-class>
<cmp-field>
<field-name>idXX</field-name>
</cmp-field>
<primkey-field>idXX</primkey-field>
</entity>
standardjbosscmp-jdbc.xml:
<enterprise-beans>
<entity>
<ejb-name>User</ejb-name>
<table-name>Customerid</table-name>
<cmp-field>
<field-name>idXX</field-name>
<not-null/>
</cmp-field>
</entity>
</enterprise-beans>
 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I noticed that you have:

It should be:

for your CMP entity beans.
 
Vili Leonardo
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
the <ejb-class> element should point to the fully qualified bean class. My bean is called EntityUserBean not EntityUserBeanCMP.
 
Vili Leonardo
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have found out what causes the error. The ejb-jar.xml dtd is default to ejb spec 1.1. After I change the dtd to 2.0 everything is fine.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic