Which server?

Looking at the spec, it seems a grey area (tough I'd have expected it
worked the way you're using it). Still, on some servers the sequence you
describe wouldn't work unless the EJB is marked as re-entrant.

Check out sections 8.4 and 9.1.4... Graphs here seem to indicate that no
persistance
call in between ejbCreate(...) and ejbPostCreate(...) is allowed.

However, section 9.5.2 does provide grounds to your line of reasoning
(plus, it makes much more sense). Could you please name the server
brand?

Juan Pablo Lorandi
Chief Software Architect
Code Foundry Ltd.
[EMAIL PROTECTED]

Barberstown, Straffan, Co. Kildare, Ireland.
Tel: +353-1-6012050  Fax: +353-1-6012051
Mobile: +353-86-2157900
www.codefoundry.com


> -----Original Message-----
> From: A mailing list for Enterprise JavaBeans development
> [mailto:[EMAIL PROTECTED]] On Behalf Of fname lname
> Sent: Saturday, April 13, 2002 5:55 PM
> To: [EMAIL PROTECTED]
> Subject: ejbLoad called on modified entity
>
>
> The EJB 1.1 server I'm using is doing something I
> don't like and I'd like to find out how other vendors
> are handling this situation.  Your comments will be
> greatly appreciated.
>
> Both Entity A and Entity B have transaction attribute
> set to required.
>          [-----EJB Container-----]
> client     Entity A     Entity B
>   |            |            |
>   |***********>|            |
>   |         [create]        |
>   |       [postCreate]*****>|
>   |            |            |
>   |            |<**callBack*|
>   |            |            |
>
> 1) The client calls create on Entity A
> 2) Entity A ejbCreate executes
> 3) Entity A postCreate modifies its state and passes
> a reference to itself to Entity B like so:
>                 this.field1 = "Hello";
>                 B b = bHome.findByPrimaryKey("1");
>                 b.passA( myRemote );
> 4) Entity B calls a method on A using the reference it
> was passed.
> THIS IS THE PART I DON'T LIKE--> just before B calls
> back on A, ejbLoad is getting called on A, having the
> affect of losing the modifications within A up until
> that point.
>
> A trace of the lifecycle methods is shown below:
>         AImpl.setEntityContext
>         AImpl.ejbCreate
>         AImpl.ejbPostCreate
>         BImpl.setEntityContext
>         BImpl.ejbCreate
>         BImpl.ejbPostCreate
>         BImpl.passA
>         AImpl.ejbLoad CALLED ON MODIFIED ENTITY!!
>         AImpl.callBack
>         AImpl.ejbStore
>         AImpl.setEntityContext
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/

========================================================================
===
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".

===========================================================================
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".

Reply via email to