This uses either DatabaseConfig or properties in the application.properties file to configure and create a Database instance.
The Database instance can either be registered with the DB singleton or
not. The DB singleton effectively holds a map of Database by a name.
If the Database is registered with the DB singleton you can retrieve it
later via DB.byName(String).
One Database can be nominated as the 'default/primary' Database. Many
methods on the DB singleton such as DB.find(Class) are just a
convenient way of using the 'default/primary' Database.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Databasecreate(DatabaseBuilder builder) Create using the DatabaseConfig object to configure the database.static DatabaseCreate using properties to configure the database.static DatabasecreateWithContextClassLoader(DatabaseBuilder config, ClassLoader classLoader) Create using the DatabaseConfig additionally specifying a classLoader to use as the context class loader.static voidinitialiseContainer(ContainerConfig containerConfig) Initialise the container with clustering configuration.static voidshutdown()Shutdown gracefully all Database instances cleaning up any resources as required.
-
Constructor Details
-
DatabaseFactory
public DatabaseFactory()
-
-
Method Details
-
initialiseContainer
Initialise the container with clustering configuration.Call this prior to creating any Database instances or alternatively set the ContainerConfig on the DatabaseConfig when creating the first Database instance.
-
create
Create using properties to configure the database. -
create
Create using the DatabaseConfig object to configure the database.DatabaseConfig config = new DatabaseConfig(); config.setName("db"); config.loadProperties(); Database database = DatabaseFactory.create(config); -
createWithContextClassLoader
public static Database createWithContextClassLoader(DatabaseBuilder config, ClassLoader classLoader) Create using the DatabaseConfig additionally specifying a classLoader to use as the context class loader. -
shutdown
public static void shutdown()Shutdown gracefully all Database instances cleaning up any resources as required.This is typically invoked via JVM shutdown hook and not explicitly called.
-