Version 2
    1. Enable ccm on datasource to be tracked. It can be done in web console or by editing xml configuration directly
    2. Configure ccm to track leaked connections. Debug must be set to true



    <datasource ... enabled="true" use-ccm="true">


    cached connection manager tag is not in default configuration, you need to add it to end of jca:1.1 namespace


        <subsystem xmlns="urn:jboss:domain:jca:1.1">

            <cached-connection-manager debug="true"/>



    It is that simple. Unlike glassfish 3.1 connection leak is done immediately after servlet ends, you will not run out of connections anymore.