Keith

You can define your entity beans to be reentrant in ejb-jar.xml like this.
This might fix your problem. The J2EE spec discourages this, can't remember
the exact reasons right now...

       <entity>
         <description>Member Bean</description>
         <display-name>Member Bean</display-name>
         <ejb-name>Member</ejb-name>
         <home>com.uni.entity.myaccount.MemberHome</home>
         <remote>com.uni.entity.myaccount.Member</remote>
         <ejb-class>com.uni.entity.myaccount.MemberBean</ejb-class>
         <persistence-type>Bean</persistence-type>
         <prim-key-class>com.uni.entity.myaccount.MemberPK</prim-key-class>
         <reentrant>True</reentrant>
         <resource-ref>
           <res-ref-name>jdbc/UniteItDB</res-ref-name>
           <res-type>javax.sql.DataSource</res-type>
           <res-auth>Container</res-auth>
         </resource-ref>
       </entity>



> -----Original Message-----
> From: Rickard Oberg [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, November 30, 2000 12:24 PM
> To: jBoss
> Subject: Re: [jBoss-User] deadlock accessing EntityBeans
> 
> 
> Hi!
> 
> "Keith L. Musser" wrote:
> > I have a SessionBean which performs a search on Entity Beans.  The
> > sequence in which the search accesses the Entity Beans 
> depends on call
> > arguments to the session bean.
> > 
> > When I invoke the session bean from multiple clients, I get 
> deadlock.
> > 
> > This appears to be because search 1 assesses entity A 
> first, then entity
> > B.  Search 2, however, acesses entity B first, then entity A.
> > 
> > So if the timing is just wrong, both searches get the first 
> entity, but
> > cannot get the second, since it's locked by the other search.
> > 
> > Is there a way to set up jboss.xml to prevent this from happening?
> 
> This is a known issue with concurrent systems and pessimistic
> concurrency schemes (which is what our cache uses). You should either
> wait for transaction timeout and retry, or make sure that they are
> always used in the same order.
> 
> There are plans to make an optimistic concurrency cache which 
> would fix
> this, but this will not be done for awhile.
> 
> regards,
>   Rickar
> 
> -- 
> Rickard Oberg
> 
> Email: [EMAIL PROTECTED]
> 
> 
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Problems?:           [EMAIL PROTECTED]
> 


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to