Postgres com pool

Alguem tem uma classe ou só o metodo de criação de pool de conexões pro postgre? não consigo achar na net… baixei o driver e tentei montar, não to conseguindo. Tentei essa porcaria ai em baixo.

public class PooDriPG {
    	  static PGConnectionPoolDataSource source = null;
       public static void CriarPool(){
       System.out.println("Criando source");
          source = new PGConnectionPoolDataSource();
         //source.setDataSourceName("Saúde");
         //source.setServerName("localhost");
         //source.setDatabaseName("almoxarifado");
         //source.setUser("postgre");
         //source.setPassword("mhm123");
         //source.setMaxConnections(100);
      }
    
       public Connection getConexaoPool() {
       if(source==null){
       CriarPool();
       }
         Connection conn = null;
         try {
            conn = source.getPooledConnection("postgre", "mhm123");
         // use connection
         } 
             catch (SQLException e) {
            // log error
            } 
         finally {
            if (conn != null) {
               try { conn.close(); } 
                   catch (SQLException e) {}
            }
         }
         return conn;
      }
   
   }

Procure por C3P0, é o melhor na minha pra mim.