Being able to force a single connection to be closed will be useful as well.
Closing connections via JMX will require some changes in the connection pool. It is currently not possible to force a connection to be closed: the XAResourceHolder's state must be changed but the connection handle is not updated so it will continue to use a connection even if its status says it is back in the pool.
Once this XAResourceHolder / connection handle state mismatch has been fixed and the JMX beans implemented, the next step is to implement another scheduler task that can take back connections if they stayed out of the pool for too long. This would require another config setting like takeBackConnectionTimeout. Another useful feature would be to save a stack trace when a connection is borrowed from the pool and log it when a connection is taken back after timeout expired.