This page documents how the Mifos built-in Connection Pool to the mySQL Database can be monitored at run-time. This can be needed and useful to e.g. simply keep an eye on DB Connections, or to troubleshoot when issues such as connection exhaustion arise, and a connection leak may be suspected.
Connection Pooling in Mifos uses the c3p0 library (via Hibernate). c3p0 supports JMX for monitoring out of the box.
The Java 6 JDK includes "Java Visual VM" (successor of the JConsole from Java v5), a nice monitoring console for JVMs which out of the box displays trends for CPU, Heap & PermGen memory usage, Class loading, and Threads details (including a "Thread Dump" button which is a GUI alternative to the Ctrl-Break on Windows or kill -3 on *NIX). Visual VM is, via an optional plug-in, also a JMX Console.
Note that due to MIFOS-4369 Mifos currently (time of writing) creates & uses two independent connection pools internally - one for the normal application / HTTP requests, and one for the batch background jobs.
Visual VM may also be useful unrelated to connection pooling to simply monitor the Mifos JVM's CPU load, Garbage Collection activity, and Heap & PermGen memory usage: