The 'permit to get a connection' is a Semaphore that manages the ability of a thread to get a ConnectionListener. It is an application server construct and has nothing to do with the underlying database. The blocking timeout milliseconds tells the container 'how long' a thread expects to wait to get a permit. If the blocking time is too low and they number of connections is inadequate to handle load you will see'NoManagedConnections Available' in the logs.
On the alternate side if the blocking time is too high, and the pool is under heavy load, you will generally see this in JBoss appearing to 'hang' or 'lock' under certain conditions.
Of course, there are very, very few cases where you want threads hanging around for resources that are unlikely to become available...
If your application is properly profiled, you your resource generally be available within the blocking time. If you are seeing a lot of "NoManagedConnectionsAvailable" messages, it's probably time to tune the pool.