CMP: JDBCCreateEntityCommand.execute
kryptontri Dec 3, 2001 3:13 PMStack Trace:
[AddressEJB] setEntityContext
[AddressEJB] ejbCreate : 5 : 1 : happyhacker@hl.com
[AddressEJB] TRANSACTION ROLLBACK EXCEPTION:null
Embedded Exception
null; nested exception is:
javax.ejb.EJBException: null
Embedded Exception
null
[AddressEJB] java.lang.NullPointerException
[AddressEJB] at org.jboss.ejb.plugins.jaws.jdbc.JDBCCreateEntityCommand.execute(JDBCCreateEntityCommand.java:
117)
[AddressEJB] at org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.createEntity(JAWSPersistenceManager.java:12
8)
[AddressEJB] at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:231)
[AddressEJB] at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:616)
[AddressEJB] at java.lang.reflect.Method.invoke(Native Method)
[AddressEJB] at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:843)
[AddressEJB] at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterc
eptor.java:231)
[AddressEJB] at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:154
)
[AddressEJB] at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:108)
[AddressEJB] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:135)
[AddressEJB] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:307)
[AddressEJB] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:86)
[AddressEJB] at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:103)
[AddressEJB] at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106)
[AddressEJB] at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:420)
[AddressEJB] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContainerInvoker.java:3
70)
[AddressEJB] at java.lang.reflect.Method.invoke(Native Method)
[AddressEJB] at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
[AddressEJB] at sun.rmi.transport.Transport$1.run(Unknown Source)
[AddressEJB] at java.security.AccessController.doPrivileged(Native Method)
[AddressEJB] at sun.rmi.transport.Transport.serviceCall(Unknown Source)
[AddressEJB] at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
[AddressEJB] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
[AddressEJB] at java.lang.Thread.run(Unknown Source)
Jaws.xml
----------
<enterprise-beans>
.... another entity bean that works..its the same almost apart from the finder and table + column names
<ejb-name>AddressEJB</ejb-name>
<table-name>ADDRESS</table-name>
<create-table>false</create-table>
<remove-table>false</remove-table>
<tuned-updates>false</tuned-updates>
<read-only>false</read-only>
<time-out>300</time-out>
<select-for-update>false</select-for-update>
<pk-constraint>true</pk-constraint>
<cmp-field>
<field-name>addressId</field-name>
<column-name>ADDRESSID</column-name>
</cmp-field>
<cmp-field>
<field-name>addressTypeId</field-name>
<column-name>ADDRESSTYPEID</column-name>
</cmp-field>
<cmp-field>
<field-name>addressLine1</field-name>
<column-name>ADDRESSLINE1</column-name>
</cmp-field>
<cmp-field>
<field-name>addressLine2</field-name>
<column-name>ADDRESSLINE2</column-name>
</cmp-field>
<cmp-field>
<field-name>addressLine3</field-name>
<column-name>ADDRESSLINE3</column-name>>
</cmp-field>
<cmp-field>
<field-name>addressLine4</field-name>
<column-name>ADDRESSLINE4</column-name>
</cmp-field>
<cmp-field>
<field-name>city</field-name>
<column-name>CITY</column-name>
</cmp-field>
<cmp-field>
<field-name>countryId</field-name>
<column-name>COUNTRYID</column-name>
</cmp-field>
<cmp-field>
<field-name>email</field-name>
<column-name>EMAIL</column-name>
</cmp-field>
<cmp-field>
<field-name>homePhone</field-name>
<column-name>HOMEPHONE</column-name>
</cmp-field>
<cmp-field>
<field-name>workPhone</field-name>
<column-name>WORKPHONE</column-name>
</cmp-field>
<cmp-field>
<field-name>mobile</field-name>
<column-name>MOBILE</column-name>
</cmp-field>
<cmp-field>
<field-name>icq</field-name>
<column-name>ICQ</column-name>
</cmp-field>
<cmp-field>
<field-name>yahooMessenger</field-name>
<column-name>YAHOOMESSENGER</column-name>
</cmp-field>
<cmp-field>
<field-name>msnMessenger</field-name>
<column-name>MSNMESSENGER</column-name>
</cmp-field>
<cmp-field>
<field-name>aolMessenger</field-name>
<column-name>AOLMESSENGER</column-name>
</cmp-field>
findByEmail
EMAIL = {0}
<read-ahead>true</read-ahead>
</enterprise-beans>
EJB Create
-----------
/**
* EJB implementation ejbCreate creates a new record
*
* @return Integer - The new PK for this data record
* @throws CreateException
*/
public Integer ejbCreate ( Integer inAddressId,
Integer inAddressTypeId,
String inEmail )
throws DuplicateKeyException, CreateException {
if ( log.isDebugEnabled() ) {
log.debug("ejbCreate : " + inAddressId + " : " + inAddressTypeId + " : " + inEmail);
}
addressId = inAddressId;
addressTypeId = inAddressTypeId;
email = inEmail;
return null;
}
-----------------------------------------------------
the stack trace refers to
[AddressEJB] at org.jboss.ejb.plugins.jaws.jdbc.JDBCCreateEntityCommand.execute(JDBCCreateEntityCommand.java:
117)
Which is ..
id = from.get(ctx.getInstance());
Any ideas why the container is returning the context as null ?
Many thanks { jboss version 2.4.1 }