Hi, I have a small doubt regarding the transaction. Following is the code:
Lets say I am calling a method from a method which involves with the transaction. Now, Can I know by any chance that I am with in a transaction from the method calculateUserCount()?? If the calculateUserCount() is another Bean method what would be the case?
Actually, you can be sure that there is a transaction. No transaction attribute is specified on the class or on the calculateUserCount(). The default transaction attribute is REQUIRED. In other words there will always be a transaction when the method is called.
Usually you would use transaction attributes to answer the question you asked. It makes little sense to use an attribute of SUPPORTS and then poll the transaction, because you actually need one. I you want to ensure that the method is always called within an existing transaction, then assign an attribute of MANDATORY.
Since the bean is stateful you can use the SessionSynchronization interface as well. This way you can monitor the transaction status.