Found some progress in the problem.
Actually, my code which handles the transaction also makes a statement caching. And here the connection object is checked whether it has executed a set of statements and if not then the same connection is getting assigned again for the second time.
And here the handle which is getting returned has been closed by the jboss.
Now i have made the no. of statements to get executed to 0.
So now everytime a connection is required the transaction handler is gettign me a new connection.
Now the question would be:
can i make statement caching on a connection, if so how?