@Override
public void start() throws Exception
{
this.driver = this.database.createConnectionSource();
this.password = this.database.decodePassword(this.cluster.getDecoder());
this.pool = this.poolFactory.createPool(new ConnectionPoolProvider(this));
DialectFactory factory = ServiceLoaders.findService(new IdentifiableMatcher<DialectFactory>(this.database.parseVendor()), DialectFactory.class);
if (factory == null)
{
// Use default dialect