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]