why MYSQL error come
chaman4110 Jan 23, 2006 6:07 AMwhen I deploy cmp bean on jboss-3.2.2 it gives following error (I use lomboz plugins):-
5:53:11,197 INFO [EjbModule] Deploying FirstStat
15:53:11,728 WARN [EntityContainer] No resource manager found for jdbc/MySqlDs
15:53:13,320 ERROR [EntityContainer] Starting failed
org.jboss.deployment.DeploymentException: Error in jbosscmp-jdbc.xml : datasource-mapping MYSQL not found
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCEntityMetaData.(JDBCEntityMetaData.java:433)
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCApplicationMetaData.(JDBCApplicationMetaData.java:310)
Note:- Stateless or stateful bean created with dao, accessing of database normally.
------------------------------------------
FirstStatBean.class
------------------------------------------
/*
* Created on Jan 23, 2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package chaman.com;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
/**
*
* <!-- begin-user-doc --> You can insert your documentation for 'FirstcmpBean'. <!-- end-user-doc --> *
<!-- begin-lomboz-definition -->
<?xml version="1.0" encoding="UTF-8"?>
<lomboz:EJB xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:lomboz="http://lomboz.objectlearn.com/xml/lomboz">
<lomboz:entity>
<lomboz:entityEjb>
<j2ee:display-name>Firstcmp</j2ee:display-name>
<j2ee:ejb-name>Firstcmp</j2ee:ejb-name>
<j2ee:ejb-class>chaman.com.FirstcmpBean</j2ee:ejb-class>
<j2ee:persistence-type>Container</j2ee:persistence-type>
<j2ee:prim-key-class>java.lang.Integer</j2ee:prim-key-class>
<j2ee:cmp-version>2.x</j2ee:cmp-version>
<j2ee:abstract-schema-name>ecr</j2ee:abstract-schema-name>
<j2ee:primkey-field>id</j2ee:primkey-field>
</lomboz:entityEjb>
<lomboz:fieldMappings>
<lomboz:fieldName>id</lomboz:fieldName>
<lomboz:fieldType>java.lang.Integer</lomboz:fieldType>
<lomboz:columnName>id</lomboz:columnName>
<lomboz:jdbcType>VARCHAR</lomboz:jdbcType>
<lomboz:sqlType>INT</lomboz:sqlType>
<lomboz:readOnly>false</lomboz:readOnly>
<lomboz:primaryKey>true</lomboz:primaryKey>
</lomboz:fieldMappings>
<lomboz:fieldMappings>
<lomboz:fieldName>fname</lomboz:fieldName>
<lomboz:fieldType>java.lang.String</lomboz:fieldType>
<lomboz:columnName>fname</lomboz:columnName>
<lomboz:jdbcType>VARCHAR</lomboz:jdbcType>
<lomboz:sqlType>VARCHAR</lomboz:sqlType>
<lomboz:readOnly>false</lomboz:readOnly>
<lomboz:primaryKey>false</lomboz:primaryKey>
</lomboz:fieldMappings>
<lomboz:fieldMappings>
<lomboz:fieldName>lname</lomboz:fieldName>
<lomboz:fieldType>java.lang.String</lomboz:fieldType>
<lomboz:columnName>lname</lomboz:columnName>
<lomboz:jdbcType>VARCHAR</lomboz:jdbcType>
<lomboz:sqlType>VARCHAR</lomboz:sqlType>
<lomboz:readOnly>false</lomboz:readOnly>
<lomboz:primaryKey>false</lomboz:primaryKey>
</lomboz:fieldMappings>
<lomboz:fieldMappings>
<lomboz:fieldName>phone</lomboz:fieldName>
<lomboz:fieldType>java.lang.String</lomboz:fieldType>
<lomboz:columnName>phone</lomboz:columnName>
<lomboz:jdbcType>VARCHAR</lomboz:jdbcType>
<lomboz:sqlType>VARCHAR</lomboz:sqlType>
<lomboz:readOnly>false</lomboz:readOnly>
<lomboz:primaryKey>false</lomboz:primaryKey>
</lomboz:fieldMappings>
<lomboz:tableName>address</lomboz:tableName>
<lomboz:dataSourceName></lomboz:dataSourceName>
</lomboz:entity>
</lomboz:EJB>
<!-- end-lomboz-definition -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.bean name="Firstcmp"
* jndi-name="Firstcmp"
* type="CMP"
* primkey-field="id"
* schema="ecr"
* cmp-version="2.x"
* data-source=""
*
* @ejb.persistence
* table-name="address"
*
* @ejb.finder
* query="SELECT OBJECT(a) FROM ecr as a"
* signature="java.util.Collection findAll()"
*
* @ejb.pk class="java.lang.Integer"
* @ejb.resource-ref res-ref-name="jdbc/MySqlDs"
* res-auth="Container"
* @jbos.resource-ref res-ref-name="jdbc/MySqlDs"
* jndi-name="java:/MySqlDS"
* <!-- end-xdoclet-definition -->
* @generated
**/
public abstract class FirstcmpBean implements javax.ejb.EntityBean {
protected EntityContext eContext;
/**
*
* <!-- begin-user-doc -->
* The ejbCreate method.
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.create-method
* <!-- end-xdoclet-definition -->
* @generated
*/
public java.lang.Integer ejbCreate(Integer id, String fname,String lname, String phone ) throws javax.ejb.CreateException {
// EJB 2.0 spec says return null for CMP ejbCreate methods.
// TODO: YOU MUST INITIALIZE THE FIELDS FOR THE BEAN HERE.
// setMyField("Something");
// begin-user-code
setId(id);
setFname(fname);
setLname(lname);
setPhone(phone);
return null;
// end-user-code
}
/**
* <!-- begin-user-doc -->
* The container invokes this method immediately after it calls ejbCreate.
* <!-- end-user-doc -->
*
* @generated
*/
public void ejbPostCreate(Integer id, String fname,String lname, String phone) throws javax.ejb.CreateException {
// begin-user-code
// end-user-code
}
/**
*
*
* <!-- begin-user-doc -->
* CMP Field id
*
* Returns the id
* @return the id
*
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
*
* @ejb.persistent-field
* @ejb.persistence
* column-name="id"
* jdbc-type="VARCHAR"
* sql-type="INT"
* read-only="false"
* @ejb.pk-field
*
* @ejb.interface-method
*
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract java.lang.Integer getId();
/**
* <!-- begin-user-doc -->
* Sets the id
*
* @param java.lang.Integer the new id value
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.interface-method
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract void setId(java.lang.Integer id);
/**
*
*
* <!-- begin-user-doc -->
* CMP Field fname
*
* Returns the fname
* @return the fname
*
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
*
* @ejb.persistent-field
* @ejb.persistence
* column-name="fname"
* jdbc-type="VARCHAR"
* sql-type="VARCHAR"
* read-only="false"
*
*
* @ejb.interface-method
*
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract java.lang.String getFname();
/**
* <!-- begin-user-doc -->
* Sets the fname
*
* @param java.lang.String the new fname value
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.interface-method
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract void setFname(java.lang.String fname);
/**
*
*
* <!-- begin-user-doc -->
* CMP Field lname
*
* Returns the lname
* @return the lname
*
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
*
* @ejb.persistent-field
* @ejb.persistence
* column-name="lname"
* jdbc-type="VARCHAR"
* sql-type="VARCHAR"
* read-only="false"
*
*
* @ejb.interface-method
*
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract java.lang.String getLname();
/**
* <!-- begin-user-doc -->
* Sets the lname
*
* @param java.lang.String the new lname value
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.interface-method
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract void setLname(java.lang.String lname);
/**
*
*
* <!-- begin-user-doc -->
* CMP Field phone
*
* Returns the phone
* @return the phone
*
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
*
* @ejb.persistent-field
* @ejb.persistence
* column-name="phone"
* jdbc-type="VARCHAR"
* sql-type="VARCHAR"
* read-only="false"
*
*
* @ejb.interface-method
*
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract java.lang.String getPhone();
/**
* <!-- begin-user-doc -->
* Sets the phone
*
* @param java.lang.String the new phone value
* <!-- end-user-doc -->
*
* <!-- begin-xdoclet-definition -->
* @ejb.interface-method
* <!-- end-xdoclet-definition -->
* @generated
*/
public abstract void setPhone(java.lang.String phone);
/* (non-Javadoc)
* @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
*/
public void setEntityContext(EntityContext arg0) throws EJBException,
RemoteException {
// TODO Auto-generated method stub
this.eContext= arg0;
}
/* (non-Javadoc)
* @see javax.ejb.EntityBean#unsetEntityContext()
*/
public void unsetEntityContext() throws EJBException, RemoteException {
// TODO Auto-generated method stub
this.eContext=null;
}
}
---------------------------------------------------
jbosscmp-jdbc.class
--------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">
<jbosscmp-jdbc>
java:/MySqlDS
<datasource-mapping>MYSQL</datasource-mapping>
<preferred-relation-mapping>foreign-key</preferred-relation-mapping>
<enterprise-beans>
<!--
To add beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called jbosscmp-jdbc-beans.xml
that contains the markup for those beans.
-->
<ejb-name>Firstcmp</ejb-name>
<table-name>address</table-name>
<cmp-field>
<field-name>id</field-name>
<column-name>id</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>INT</sql-type>
</cmp-field>
<cmp-field>
<field-name>fname</field-name>
<column-name>fname</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>VARCHAR</sql-type>
</cmp-field>
<cmp-field>
<field-name>lname</field-name>
<column-name>lname</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>VARCHAR</sql-type>
</cmp-field>
<cmp-field>
<field-name>phone</field-name>
<column-name>phone</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>VARCHAR</sql-type>
</cmp-field>
</enterprise-beans>
</jbosscmp-jdbc>