Hi all
I have a queer problem . I have an CMP Entity Bean which inserts details
and the Primary Key is a sequence triggered by the database .
My Client program works fine and does inserts rows but fails in certain
predicable cases with Duplicate Key Exception
when the previous bean instance is not passivated (I hope my inference is
correct ) .
This happens when I run my client Program repeatedly . My primary key is
an integer .
I have a PK class and so a pk (personid )instance variable in the fields
.
Below is the server side log . where I have 2 successful inserts and a
Duplicate Key exception .
Creating connection to localhost/127.0.0
. 1 -1011540616482516961
Wed Apr 19 13:12:13 PDT 2000:<I> <RJVM> Closing connection to
localhost/127.0.0.
1 -2433596992897452460
Wed Apr 19 13:12:13 PDT 2000:<I> <PosixSocketMux> EOF on socket type HTTP
PersonBean.ejbCreate( id = 16790771, PK = , )
PersonBean.ejbPostCreate (16790771, PK = 0)
<--- Person id is = 0 --->
setModified(): 16790771, PK = 0: saving not required
isModified(): isDirty = false
Wed Apr 19 13:12:13 PDT 2000:<I> <PosixSocketMux> EOF on socket type t3
PersonBean.ejbPassivate (16790771, PK = 0) / * instance with id 16790771
passivated son next insert works fine */
Wed Apr 19 13:12:20 PDT 2000:<I> <RJVM> Creating connection to
localhost/127.0.0
. 1 6046260702735035077
PersonBean.ejbCreate( id = 16790771, PK = , )
PersonBean.ejbPostCreate (16790771, PK = 0)
<--- Person id is = 0 --->
setModified(): 16790771, PK = 0: saving not required
isModified(): isDirty = false
Wed Apr 19 13:12:21 PDT 2000:<I> <PosixSocketMux> EOF on socket type t3
Wed Apr 19 13:12:23 PDT 2000:<I> <RJVM> Closing connection to
localhost/127.0.0.
1 -1011540616482516961
Wed Apr 19 13:12:23 PDT 2000:<I> <PosixSocketMux> EOF on socket type HTTP
Wed Apr 19 13:12:27 PDT 2000:<I> <RJVM> Creating connection to
localhost/127.0.0
.1 3563672288038182443
PersonBean.setEntityContext (26257141, PK = nullctx) /* new bean instance
26257141 ,16790771 not pasivated */
(hence it fails with duplicated key exception */
setModified(): 26257141, PK = null: requires saving
PersonBean.ejbCreate( id = 26257141, PK = , )
Wed Apr 19 13:12:28 PDT 2000:<I> <EJB> Transaction: '956166252381_32'
rolled bac
k due to EJB exception:
javax.ejb.DuplicateKeyException: Bean with primary key: '0' already exists
in ho
me: 'Person.PersonHome'
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at javax.ejb.CreateException.<init>(Compiled Code)
at javax.ejb.DuplicateKeyException.<init>(Compiled Code)
at weblogic.ejb.internal.StatefulEJBObject.postCreate(Compiled Code)
at com.ftpoint.portal.Person.PersonBeanEOImpl.create(Compiled Code)
at com.ftpoint.portal.Person.PersonBeanHomeImpl.create(Compiled
Code)
at
com.ftpoint.portal.Person.PersonBeanHomeImpl_WLSkel.invoke(Compiled C
ode)
at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(Compiled
Code
)
at
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(Compiled Co
de)
at
weblogic.rmi.extensions.BasicRequestDispatcher$BasicExecuteRequest.ex
ecute(Compiled Code)
at weblogic.t3.srvr.ExecuteThread.run(Compiled Code)
Wed Apr 19 13:12:28 PDT 2000:<I> <PosixSocketMux> EOF on socket type t3
Wed Apr 19 13:12:31 PDT 2000:<I> <RJVM> Closing connection to
localhost/127.0.0.
1 6046260702735035077
Wed Apr 19 13:12:31 PDT 2000:<I> <PosixSocketMux> EOF on socket type HTTP
PersonBean.ejbPassivate (16790771, PK = 0)
I would like any input regarding this . I am not sure my inference is
the correct reasoning behind this .
Thanks in Advance
Lakshmi Anantharaman
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".