Da forma que foi implementado o ConnectionFactory no vídeo sobre a implementação de Pool corre o risco de instanciar vários Pools, com cada um criando de cara seu número mínimo de conexões com o banco de dados?
A dúvida é porque o ConnectionFactore instância um novo datasource no seu construtor. A própria implementação do Datasource já teria algum tratamento para evitar criar Datasources repetidos, ou isso deve ser uma preocupação da aplicação transformando o ConnectionFactory num singleton, por exemplo?