| 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. | |