I said:
> [...] I have a session EJB ("PersonClient") and an entity EJB ("Person").
> Both are deployed with transactions = required. PersonClient has a single
> method which, by way of demonstrating and testing EJB-to-EJB transaction
> propagation, creates a Person, saves its primary key information, discards
> its reference to it and looks it up again with findByPrimaryKey. All of
> the methods on the EJB implementations write a line to the log so I can
> see when a method is called and on which instance. I see instance 1
> created and ejbCreate called on it, then instance 2 created and
> findByPrimaryKey called on it. After the implementation of
> findByPrimaryKey runs, but before control returns to PersonClient,
> ejbStore is called on instance 1. I'm not clear on why that happens -- by
> that point instance 1 has already been persisted in ejbCreate, and
> everybody ought to be in a single transaction, so there's no need to
> ejbStore. Anyway, ejbStore runs an SQL update and checks the return value
> of PreparedStatement.executeUpdate to see if one and only one row has been
> updated as I'd expect. Instead no rows are updated; apparently there are
> no rows in the table with the right ID. Help! Where did my row go? [...]

There are bits of the above I don't understand, but the solution is to use
the Minerva XADataSource rather than the Oracle XADataSource.

Cheers,

-- 
| Dave Schweisguth                       http://www.schweisguth.org/~dave/ |
| Home: [EMAIL PROTECTED]          Work: [EMAIL PROTECTED] |
| For compliance with the NJ Right to Know Act: Contents partially unknown |


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to