| This devtest tries to test whether the appserver |
| removes a connection from pool after using it for |
| "maxconnectionusage" times. |
| |
| Scenario : |
| 1) Pool with size 1 |
| 2) DataSource of type javax.sql.DataSource / javax.sql.XADataSource |
| 3) Transaction Attribute of ejb as "NotSupported" |
| |
| test1() |
| a) Local, NoTx |
| b) XA, NoTx |
| Set "maxconnectionusage" to 10. Test will acquire 11 connections. |
| If 1st and 11nth connection (physical connection) are different, |
| test passes. |
| |
| NOTE: Changing tx-attribute or datasource type or sharing mode may yield |
| different results. |
| |
| Scenario : |
| 1) Pool with size 1 |
| 2) DataSource of type javax.sql.DataSource / javax.sql.XADataSource |
| 3) DataSources as type "shareable" in ejb desciptor |
| 3) Transaction Attribute of ejb as "Required" |
| |
| |
| test2() & test3() |
| a) Local, Tx, Shareable |
| b) XA, Tx, Shareable |
| NOTE : (b) will not work as physical connection (ds.getConnection(conn)) will be different |
| during each invocation. |
| |
| |
| test2() will add entries and return the physical connection's id |
| test3() will test whether the entries are persisted and return the |
| physical connection's id |
| |
| Since the pool has only 1 connection, calling test2() & test3() 5 times each |
| will ensure that "maxconnectionusage=10" is met. |
| Further call to test2() will return a different connection. |
| If they are different, connection was dropped and created, test passes. |
| |