I'm working on an app using jBoss 2-4-3 using CMP entity beans, stateless session beans, and CMT. The application is essentially a shopping cart where the user enters one or more products, one or more payments per product, and submits the order.
We have single method in a stateless session bean that is called to perform the updates which include adding a record to a transaction table, a record to a payment table, a join table record tying payment to transaction, a trans detail record for each product, and a payment detail record for each payment. It passes the update requests on to additional stateless session beans who have the responsibility of updating their assigned entity bean(s).
All of the entity and session bean methods are defined as REQUIRED for transactions. What's happening is that a failure in one of the creates is NOT causing ALL of the previous updates to roll back. For example, if the failure occurs while writing the payment detail record, then the updates for the trans detail and the join table are rolled back, but the payment and transaction records are still written putting the database into a bad state.
Can anyone give me a hint as to what might be our problem here?
I suggest you ask this in the EJB/JBoss forum. Also they will tell you to upgrade to 2.4.8 or whatever the newest 2.4 release is.