Class DatabaseFactory
public class DatabaseFactory extends Object
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 Constructor Description DatabaseFactory() -
Method Summary
Modifier and Type Method Description static Databasecreate(DatabaseConfig config)Create using the DatabaseConfig object to configure the database.static Databasecreate(String name)Create using properties to configure the database.static DatabasecreateWithContextClassLoader(DatabaseConfig 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(DatabaseConfig config, ClassLoader classLoader)Create using the DatabaseConfig additionally specifying a classLoader to use as the context class loader. -
shutdown
Shutdown gracefully all Database instances cleaning up any resources as required.This is typically invoked via JVM shutdown hook and not explicitly called.
-