I have specified all get* methods of my Entity Bean to be "read-only" through the following tag in the jboss.xml.
<method-attributes>
<method>
<method-name>get*</method-name>
<read-only>true</read-only>
</method>
</method-attributes>
Now, I access the getCustomerId of such an entity bean instance from an MDB that is enrolled in a "Required" type CMT. The transaction rolls back due to a timeout. However, that entity bean instance seems to be locked, when the MDB tries to re-process the message.
I am of the opinion that read-only methods will release transactional locks at the end of the invocation. I am not sure why it holds up when the transaction rolls back.
Can anyone throw some light?
Thanks.