@Override public IDBI get() { final DBI dbi = new DBI(ds); for (final ArgumentFactory argumentFactory : argumentFactorySet) { dbi.registerArgumentFactory(argumentFactory); } for (final ResultSetMapperFactory resultSetMapperFactory : resultSetMapperFactorySet) { dbi.registerMapper(resultSetMapperFactory); } for (final ResultSetMapper resultSetMapper : resultSetMapperSet) { dbi.registerMapper(resultSetMapper); } if (transactionHandler != null) { dbi.setTransactionHandler(transactionHandler); } if (sqlLog != null) { dbi.setSQLLog(sqlLog); } else if (config != null) { final Slf4jLogging sqlLog = new Slf4jLogging(logger, config.getLogLevel()); dbi.setSQLLog(sqlLog); } if (timingCollector != null) { dbi.setTimingCollector(timingCollector); } return dbi; }
private DBI createDBI(final ConfigSource configSource) { final ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setJdbcUrl(configSource.getString(ANALYTICS_DBI_CONFIG_STRING + "url")); dataSource.setUser(configSource.getString(ANALYTICS_DBI_CONFIG_STRING + "user")); dataSource.setPassword(configSource.getString(ANALYTICS_DBI_CONFIG_STRING + "password")); dataSource.setMinPoolSize(1); dataSource.setMaxPoolSize(10); dataSource.setCheckoutTimeout(10 * 1000); dataSource.setMaxIdleTime(60 * 60); dataSource.setMaxConnectionAge(0); dataSource.setIdleConnectionTestPeriod(5 * 60); final DBI dbi = new DBI(dataSource); dbi.registerArgumentFactory(new UUIDArgumentFactory()); dbi.registerArgumentFactory(new DateTimeZoneArgumentFactory()); dbi.registerArgumentFactory(new DateTimeArgumentFactory()); dbi.registerArgumentFactory(new LocalDateArgumentFactory()); dbi.registerArgumentFactory(new EnumArgumentFactory()); dbi.registerMapper(new UuidMapper()); try { dbi.setTransactionHandler((TransactionHandler) Class.forName("com.ning.jetty.jdbi.RestartTransactionRunner").newInstance()); } catch (Exception e) { logger.warn("Unable to register transaction handler"); } return dbi; } }
dbi = new DBI(embeddedDB.getDataSource()); InTransaction.setupDBI(dbi); dbi.setTransactionHandler(new NotificationTransactionHandler(databaseTransactionNotificationApi));
logger.info("Using " + config.getTransactionHandlerClass() + " as a transaction handler class"); try { dbi.setTransactionHandler((TransactionHandler) Class.forName(config.getTransactionHandlerClass()).newInstance()); } catch (Exception e) { throw new RuntimeException(e);
@Override public IDBI get() { final DBI dbi = new DBI(ds); dbi.registerArgumentFactory(new UUIDArgumentFactory()); dbi.registerArgumentFactory(new DateTimeZoneArgumentFactory()); dbi.registerArgumentFactory(new DateTimeArgumentFactory()); dbi.registerArgumentFactory(new LocalDateArgumentFactory()); dbi.registerArgumentFactory(new EnumArgumentFactory()); dbi.registerMapper(new UuidMapper()); dbi.registerMapper(new AuditLogModelDaoMapper()); dbi.registerMapper(new RecordIdIdMappingsMapper()); // Restart transactions in case of deadlocks dbi.setTransactionHandler(new SerializableTransactionRunner()); //final SQLLog log = new Log4JLog(); //dbi.setSQLLog(log); return dbi; } }