public class HikariModule extends AbstractModule
This module provides a DataSource instance that is configured based on module's constructor arguments,
configuration properties or both.
Different constructor variants allow you to configure dataSourceClassName (note that HikariCP uses javax.sql.DataSource instances
instead of java.sql.Driver used by other connection pools), minimumIdle and maximumPoolSize as well as dataSourceProperties.
If you wish to configure the module using configuration properties you should use the following property names: other.hikari.dataSourceClassName,
other.hikari.minimumIdle and other.hikari.maximumPoolSize. All configuration properties prefixed with other.hikari.dataSourceProperties will
be used as data source properties - e.g. other.hikari.URL will be used to set URL property on the data source.
Example usage: (Java DSL)
import ratpack.handling.*;
import ratpack.guice.*;
import ratpack.func.Action;
import ratpack.launch.*;
import ratpack.hikari.HikariModule;
import com.google.common.collect.ImmutableMap;
class ModuleBootstrap implements Action<BindingsSpec> {
public void execute(BindingsSpec bindings) {
Map dataSourceProperties = ImmutableMap.of("URL", "jdbc:h2:mem:dev");
bindings.add(new HikariModule(dataSourceProperties, "org.h2.jdbcx.JdbcDataSource"));
}
}
LaunchConfig launchConfig = LaunchConfigBuilder.baseDir(new File("appRoot"))
.build(new HandlerFactory() {
public Handler create(LaunchConfig launchConfig) {
return Guice.handler(launchConfig, new ModuleBootstrap(), new Action<Chain>() {
public void execute(Chain chain) {
//...
}
});
}
});
Example usage: (Groovy DSL)
import ratpack.hikari.HikariModule
import groovy.sql.Sql
import ratpack.groovy.sql.SqlModule
import static ratpack.groovy.Groovy.ratpack
ratpack {
bindings {
add new SqlModule(),
new HikariModule("org.h2.jdbcx.JdbcDataSource", URL: "jdbc:h2:mem:dev", user: 'user', password: 'pass')
}
handlers { Sql sql ->
get('schemas') {
def schemas = sql.rows('show schemas')
render schemas*.getAt(0).join(', ')
}
}
}
| Constructor and Description |
|---|
HikariModule() |
HikariModule(Map<String,String> dataSourceProperties,
String dataSourceClassName) |
HikariModule(Map<String,String> dataSourceProperties,
String dataSourceClassName,
Integer minimumIdleSize,
Integer maximumPoolSize) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
configure() |
DataSource |
dataSource(com.zaxxer.hikari.HikariConfig config) |
com.zaxxer.hikari.HikariConfig |
hikariConfig(LaunchConfig launchConfig) |
addError, addError, addError, bind, bind, bind, bindConstant, binder, bindInterceptor, bindListener, bindScope, configure, convertToTypes, currentStage, getMembersInjector, getMembersInjector, getProvider, getProvider, install, requestInjection, requestStaticInjection, requireBinding, requireBindingpublic HikariModule()
public HikariModule(Map<String,String> dataSourceProperties, String dataSourceClassName)
protected void configure()
configure in class AbstractModule@Provides public com.zaxxer.hikari.HikariConfig hikariConfig(LaunchConfig launchConfig)
@Provides public DataSource dataSource(com.zaxxer.hikari.HikariConfig config)