The point I'm making is that you wouldn't do it that way (demarcate
logon/logoff).
A user can logon and not do anything. You are wasting resources.
Instead you would allocate a connection for a unit of work (e.g. upload/download some
files).
For each unit of work, you would "reauthenticate" based on the CRI or Subject.
That way you get maximum sharing of connections and you don't have
unused connections lying around when they are not being used.
The number of open connections is directly related to the number of active units of work,
not the number of SFSBs a lot of which could be idle.
This would be most efficient if the backend supports something like session suspension
as some telnet servers do.
Related to that is (if you are writing the back end yourself), you would be better using
the
XAResource interface and storing the session against the XID on the backend server.
That way you can use "interleaving" where you start the session on one
connection
suspend it (close() - returning the connection to the pool for somebody else to use)
and resume it on a different physical connection (or the same connection)
when you need it again.
e.g. psuedo code
| ConnectionFactory cf = ...
| Connection c = cf.getConnection(); // Allocate connection from pool - start the
session - XAResource.start(xid, TMNOFLAGS);
| Object data;
| try
| {
| data = c.download();
| }
| finally
| {
| // Return the connection to the pool - suspend the session -
XAResource.suspend(xid);
| c.close();
| }
|
| // Do some long running process, we don't need to have the connection for this
| // so let somebody else use it!
| Object result = calc(data);
|
| Connection c = cf.getConnection(); // Reget a connection - resume the session -
XAResource.start(xid, TM_RESUME);
| try
| {
| c.upload(result);
| }
| finally
| {
| c.close();
| }
|
Finally, you also have greater ability to reap connections that are idle during low load
periods.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4055663#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...