In the finally block, the connection that is opened should be closed. Since you are using GlassFish jdbc connection pool and jdbc resource, the connection that was got from the datasource object must be closed or you will soon run out of connections from the pool.
[Message sent by forum member 'sm157516']
http://forums.java.net/jive/thread.jspa?messageID=481694