diff --git a/catalogue/PollDatabaseCmd.cpp b/catalogue/PollDatabaseCmd.cpp index 4333fc20d6eaeecad15440bfe524756aa2bd3566..f9b36333ba9ad18db12fad9fb6c123ab0ed040bb 100644 --- a/catalogue/PollDatabaseCmd.cpp +++ b/catalogue/PollDatabaseCmd.cpp @@ -20,6 +20,7 @@ #include "catalogue/PollDatabaseCmd.hpp" #include "catalogue/PollDatabaseCmdLineArgs.hpp" #include "rdbms/ConnFactoryFactory.hpp" +#include "rdbms/ConnPool.hpp" #include <unistd.h> @@ -46,12 +47,14 @@ int PollDatabaseCmd::exceptionThrowingMain(const int argc, char *const *const ar const PollDatabaseCmdLineArgs cmdLineArgs(argc, argv); const auto dbLogin = rdbms::Login::parseFile(cmdLineArgs.dbConfigPath); auto factory = rdbms::ConnFactoryFactory::create(dbLogin); - auto conn = factory->create(); + const uint64_t nbConns = 1; + rdbms::ConnPool connPool(*factory, nbConns); uint32_t elapsedSeconds = 0; for(uint32_t i = 0; i < cmdLineArgs.numberOfSecondsToKeepPolling; i++) { - m_out << "Querying the database" << std::endl; try { + m_out << "Querying the database" << std::endl; + auto conn = connPool.getConn(); conn->getTableNames(); } catch(exception::Exception &ex) { m_out << "Database error: " << ex.getMessage().str() << std::endl;