In JBoss 5.1 environment I have an EJB client that starts transaction via lookup of remote UserTransaction interface. EJB beans on the server process several client calls and then client performs ut.commit(); All actions where done in one global transaction.
I'm trying to understand how it works under covers - server knows clientId connected via EJB RMI and each call use the same transaction. Does it mean that connection pool will return to this session the same physical db connection based on some context data ? What kind of resources are marked busy in this case, say while client perform 10 calls in one transaction what is going to be blocked in terms of server resources (at least one database connection as far as i understand)
What would be the best reference resource for this. I know EJB spec is one, but it does not provide enough information how implementation should work, second source is source code and debugger obviously... anything else ?