Kyle,
Assuming that the container implements Option A or Option B and in the scenario of concurrent access from multiple transaction,
CASE 1: Does ejbLoad()acquires an exclusive lock on the instances' state in the database
(OR)
CASE 2: Does ejbLoad() acquire a shared lock and the instance is updated, then ejbStore() will need to promote the lock to an exclusive lock.
As per CASE 1, throughput of read-only transaction could be impacted
As per CASE 2, tt may cause deadlock if concurrently under multiple transactions.
In our application, during concurrent access from multiple transaction, We get 8177 - Can't Serialize Exception. We are using Oracle Database.
If WAS3.5 impelemnets Option A or B, is it possible to decide to go with CASE 1. I am afraid we get Can't Serialize Exception due to the CASE 2 situation.
And All our Entity Beans are BMP with CMT with TX_ATTRIBUTE: TX_REQUIRED and Isolation LEvel as Tx_Serializable.
Thanks