Thanks for reply
Here is my code
public interface StudentCMP extends EJBObject
{
public void setId(Integer id) throws RemoteException;
public void setName(String name) throws RemoteException;
public void setSubject(String subject)throws RemoteException;
public Integer getId() throws RemoteException;
public String getName() throws RemoteException;
public String getSubject()throws RemoteException;
}
public interface StudentCMPHome extends EJBHome {
public StudentCMP create(String name,String addr) throwsRemoteException, CreateException;
public StudentCMP findByPrimaryKey(Integer pk)throws FinderException, RemoteException;
public Collection findAll()throws FinderException,RemoteException;
}
public interface StudentCMPLocal extends EJBLocalObject {
public Integer getId();
public String getName();
public String getSubject();
public void setId(Integer id);
public void setName(String name);
public void setSubject(String subject);
} // end of the class
public interface StudentCMPLocalHome extends EJBLocalHome {
public StudentCMPLocal create(String name,String addr) throwsCreateException;
public StudentCMPLocal findByPrimaryKey(Integer pk)throws javax.ejb.FinderException;
} // end of the class
public abstract class StudentCMPBean implements EntityBean {
private EntityContext ctx;
private Integer generatePrimaryKey() {
return new Integer((new Object()).hashCode());
}
public java.lang.Integer ejbCreate(String name,String subject) throws CreateException {
this.setId(this.generatePrimaryKey());
this.setName(name);
this.setSubject(subject);
return null;
}
public void ejbPostCreate(String name,String address)
{
} // end of the method ...
public abstract void setId(Integer id);
public abstract void setName(String name);
public abstract void setSubject(String address);
public abstract Integer getId();
public abstract String getName();
public abstract String getSubject();
public void setEntityContext(EntityContext _ctx)
{
this.ctx = _ctx;
} // end of the method ...
public void unsetEntityContext()
{
this.ctx = null;
} // end of the method ...
public void ejbActivate()
{
System.out.println("ejbActivate()........");
} // end of the method ...
public void ejbPassivate()
{
System.out.println("ejbPassivate()........");
} // end of the method ...
public void ejbLoad()
{
System.out.println("ejbLoad()........");
} // end of the method ...
public void ejbStore()
{
System.out.println("ejbStore()........");
} // end of the method ...
public void ejbRemove()
{
} // end of the method ...
} // end of the class ...
************* CLIENT
public class StudentCMPClient {
public static void main(String [] args) throws Exception {
String providerURL = "jnp://192.168.5.204:1099";
String factoryName = "org.jnp.interfaces.NamingContextFactory";
String factoryPkgs = "org.jboss.naming:org.jnp.interfaces";
Properties props = System.getProperties();
props.put("Context.PROVIDER_URL",providerURL);
props.put("java.naming.provider.url",providerURL);
props.put("java.naming.factory.initial",factoryName);
props.put("java.naming.factory.url.pkgs", factoryPkgs);
Context ctx = new InitialContext(props);
Object obj = ctx.lookup("org/retro/gis/system/StudentCMP");
StudentCMPHome home = (StudentCMPHome)
javax.rmi.PortableRemoteObject.narrow(obj, StudentCMPHome.class);
System.out.println("Lookup Success..........");
} // end of the method ...
} // end of the classs...
************************ Descriptor
******************* 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>JBoss HelloWorldCMP Application</description>
<display-name>HelloWorldCMP EJB</display-name>
<enterprise-beans>
<!-- Session Beans -->
<session >
<description><![CDATA[Description for Count]]></description>
<display-name>Name for Count</display-name>
<ejb-name>Count</ejb-name>
<home>com.interfaces.CountHome</home>
<remote>com.interfaces.Count</remote>
<ejb-class>com.ejb.CountSession</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</session>
<session >
<description><![CDATA[Description for Hello]]></description>
<display-name>Name for Hello</display-name>
<ejb-name>Hello</ejb-name>
<home>com.interfaces.HelloHome</home>
<remote>com.interfaces.Hello</remote>
<ejb-class>com.ejb.HelloSession</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
<entity>
<ejb-name>StudentCMP</ejb-name>
<home>org.retro.gis.system.StudentCMPHome</home>
<remote>org.retro.gis.system.StudentCMP</remote>
<local-home>org.retro.gis.system.StudentCMPLocalHome</local-home>
<local>org.retro.gis.system.StudentCMPLocal</local>
<ejb-class>org.retro.gis.system.StudentCMPBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Student</abstract-schema-name>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>subject</field-name></cmp-field>
<primkey-field>id</primkey-field>
<query>
<description>Query for get all students</description>
<query-method>
<method-name>findAll</method-name>
<method-params></method-params>
</query-method>
<ejb-ql><![CDATA[ SELECT OBJECT(s)
FROM Student s
]]> </ejb-ql>
</query>
</entity>
</enterprise-beans>
<assembly-descriptor >
<security-role>
<description>
This role represents everyone who is allowed full access to the HelloWorldCMP EJB.
</description>
<role-name>everyone</role-name>
</security-role>
<method-permission>
<role-name>everyone</role-name>
<method>
<ejb-name>StudentCMP</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
<container-transaction>
<method>
<ejb-name>StudentCMP</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
*************jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
<jboss>
<enterprise-beans>
<session>
<ejb-name>Count</ejb-name>
<jndi-name>ejb/Count</jndi-name>
<method-attributes>
</method-attributes>
</session>
<session>
<ejb-name>Hello</ejb-name>
<jndi-name>ejb/Hello</jndi-name>
<resource-ref>
<res-ref-name>Datasource</res-ref-name>
<resource-name>MyDatabase</resource-name>
</resource-ref>
<method-attributes>
</method-attributes>
</session>
<entity>
<ejb-name>StudentCMP</ejb-name>
<jndi-name>org/retro/gis/system/StudentCMPHome</jndi-name>
<resource-ref>
<res-ref-name>Datasource</res-ref-name>
<resource-name>MyDatabase</resource-name>
</resource-ref>
</entity>
</enterprise-beans>
<assembly-descriptor>
</assembly-descriptor>
<resource-managers>
<resource-manager>
<res-name>MyDatabase</res-name>
<res-jndi-name>java:/DefaultDS1</res-jndi-name>
</resource-manager>
</resource-managers>
</jboss>
****************** jbosscmp-jdbc.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">
<jbosscmp-jdbc>
<enterprise-beans>
<entity>
<ejb-name>StudentCMP</ejb-name>
<create-table>true</create-table>
<remove-table>true</remove-table>
<table-name>simple</table-name>
<cmp-field>
<field-name>id</field-name>
<column-name>id</column-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
<column-name>name</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>VARCHAR(50)</sql-type>
</cmp-field>
<cmp-field>
<field-name>subject</field-name>
<column-name>subject</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type>VARCHAR(50)</sql-type>
</cmp-field>
</entity>
</enterprise-beans>
</jbosscmp-jdbc>
********** mysql-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mysql-ds.xml,v 1.3.2.3 2006/02/07 14:23:00 acoliver Exp $ -->
<!-- Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->
<datasources>
<local-tx-datasource>
<jndi-name>DefaultDS1</jndi-name>
<connection-url>jdbc:mysql://192.168.5.204:3306/gcs1</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>gcs_user</user-name>
<password>gcs_pass</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Please check the code and advise me what silly mistake i have done.
Thanks
Message was edited by:
raviadha