There is no such thing as 'caching results' at the JBoss connection pool level.
The problem is in your undertanding of transactions. Use of a local-transaction-datasource
implies that you want JBoss to manage transactions for you. When you close a connection,
this does not mean that JBoss commits the transaction.
For example consider the following pseudo code:
Connection c = get C Connection
c.doJDBC
c.close()
//NO Txn has been committed yet
Connectiond = get D Connection
d.doJDBC
d.close()
//Still no commit
Connection d still will see the old records of c because the container has not committed
your transaction. Depending upon where this is executed (EJB, Servlet) the transaction
will be committed at different times and each has different semantics. I suggest some
basic reading on JTA, LocalTransactions and JDBC.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3965430#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...