Package io.ebean

Class DatabaseFactory

java.lang.Object
io.ebean.DatabaseFactory

public class DatabaseFactory
extends Object
Creates Database instances.

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 Details

  • Method Details

    • initialiseContainer

      public static void initialiseContainer​(ContainerConfig containerConfig)
      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

      public static Database create​(String name)
      Create using properties to configure the database.
    • create

      public static Database create​(DatabaseConfig config)
      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

      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.