I can't, Evan, since I've already commited the transaction. The code in the
session bean goes like this:

UserTransaction ut = null;
try {
        BMPDataBean dataBean = getHome().findByPrimaryKey( pk );
        ut = m_context.getUserTransaction();
        ut.begin();
        dataBean.setXXX ( xxx );
        dataBean.setYYY ( yyy );
        ut.commit();
}
    catch (EJBException e) {
            e.printStackTrace();
}
    catch (NamingException e) {
            e.printStackTrace();
}
    catch (Exception e) {
            e.printStackTrace();
}



The thing is when the session bean commits, the container executes ejbLoad -
wich fails when the version is incorrect.

Throwing EJBException doesn't prevent the commit. I need the commit to fail
under some circumstances, I jus't don't find the way to make it fail.

PS



----- Original Message -----
From: "Evan Ireland" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, January 14, 2004 8:00 PM
Subject: Re: BMP/T, optimistic locking and trying to revert a commit


> Throw an EJBException from EJBStore. Catch the exception in the SB
> and call rollback, then retry.
>
> > -----Original Message-----
> > From: A mailing list for Enterprise JavaBeans development
> > [mailto:[EMAIL PROTECTED] Behalf Of Pablo Schor
> > Sent: Thursday, 15 January 2004 11:35 a.m.
> > To: [EMAIL PROTECTED]
> > Subject: BMP/T, optimistic locking and trying to revert a commit
> >
> >
> > I have the following situation: Jboss 3.2.1,  one statless
> > session bean, one BMP entity beans. The session bean updates the
> > table through _BMT_, but the ejbStore has a "version=v" in the
> > where clause and if it fails (no rows updated), it has to throw
> > an exception to the session bean.
> >
> >
> > The container executes the ejbStore() method when the session
> > bean issues a commit, but if the version is incorrect, the BMP
> > throws an exception - trying to rollback since the update clause
> > didn't update the required row.
> >
> >
> > Questions:
> >
> > 1. What Exception should the BMP throw? Can a BMP throw an
> > application specific exception? if not, how can the BMP notify
> > the session bean the fact no rows were updated?
> > 2. In any case, can the commit be reverted?
> >
> >
> > Thanks for any info,
> > PS
> >
> >
> > ==================================================================
> > =========
> > 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".

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