final void init(PluginLoader loader, Server server, PluginDescriptionFile description, File dataFolder, File file, ClassLoader classLoader) { this.loader = loader; this.server = server; this.file = file; this.description = description; this.dataFolder = dataFolder; this.classLoader = classLoader; this.configFile = new File(dataFolder, "config.yml"); this.logger = new PluginLogger(this); if (description.isDatabaseEnabled()) { ServerConfig db = new ServerConfig(); db.setDefaultServer(false); db.setRegister(false); db.setClasses(getDatabaseClasses()); db.setName(description.getName()); server.configureDbConfig(db); DataSourceConfig ds = db.getDataSourceConfig(); ds.setUrl(replaceDatabaseString(ds.getUrl())); dataFolder.mkdirs(); ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); ebean = EbeanServerFactory.create(db); Thread.currentThread().setContextClassLoader(previous); } }
/** * Initialise the container with clustering configuration. * <p> * Call this prior to creating any EbeanServer instances or alternatively set the * ContainerConfig on the ServerConfig when creating the first EbeanServer instance. */ public static synchronized void initialiseContainer(ContainerConfig containerConfig) { getContainer(containerConfig); }
/** * Get the EbeanContainer initialising it if necessary. * * @param containerConfig the configuration controlling clustering communication */ private static SpiContainer getContainer(ContainerConfig containerConfig) { // thread safe in that all calling methods are synchronized if (container != null) { return container; } if (containerConfig == null) { // effectively load configuration from ebean.properties Properties properties = PrimaryServer.getProperties(); containerConfig = new ContainerConfig(); containerConfig.loadFromProperties(properties); } container = createContainer(containerConfig); return container; }
/** * Create using the ServerConfig object to configure the server. */ public static synchronized EbeanServer create(ServerConfig config) { if (config.getName() == null) { throw new PersistenceException("The name is null (it is required)"); } EbeanServer server = createInternal(config); if (config.isDefaultServer()) { PrimaryServer.setSkip(true); } if (config.isRegister()) { Ebean.register(server, config.isDefaultServer()); } return server; }
/** * Create using ebean.properties to configure the server. */ public static synchronized EbeanServer create(String name) { // construct based on loading properties files // and if invoked by Ebean then it handles registration SpiContainer serverFactory = getContainer(null); return serverFactory.createServer(name); }
public void afterPropertiesSet() throws Exception { if (serverConfig == null) { throw new Exception("No ServerConig set. You must define a ServerConfig bean"); } // Create the new EbeanServer using the configuration this.ebeanServer = EbeanServerFactory.create(serverConfig); }
private static EbeanServer createInternal(ServerConfig config) { return getContainer(config.getContainerConfig()).createServer(config); }
@Bean public EbeanServer ebeanServer(ServerConfig serverConfig) { return EbeanServerFactory.create(serverConfig); }
/** * Create using the ServerConfig additionally specifying a classLoader to use as the context class loader. */ public static synchronized EbeanServer createWithContextClassLoader(ServerConfig config, ClassLoader classLoader) { ClassLoader currentContextLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); try { return EbeanServerFactory.create(config); } finally { // set the currentContextLoader back Thread.currentThread().setContextClassLoader(currentContextLoader); } }
/** * Synchronized read, create and put of EbeanServers. */ private EbeanServer getWithCreate(String name) { synchronized (monitor) { EbeanServer server = syncMap.get(name); if (server == null) { // register when creating server this way server = EbeanServerFactory.create(name); register(server, false); } return server; } }
/** * Synchronized read, create and put of EbeanServers. */ private EbeanServer getWithCreate(String name) { synchronized (monitor) { EbeanServer server = syncMap.get(name); if (server == null) { // register when creating server this way server = EbeanServerFactory.create(name); register(server, false); } return server; } }
/** * Synchronized read, create and put of EbeanServers. */ private EbeanServer getWithCreate(String name) { synchronized (monitor) { EbeanServer server = syncMap.get(name); if (server == null) { // register when creating server this way server = EbeanServerFactory.create(name); register(server, false); } return server; } }
public Gringotts() { ServerConfig dbConfig = new ServerConfig(); dbConfig.setDefaultServer(false); dbConfig.setRegister(false); dbConfig.setClasses(getDatabaseClasses()); dbConfig.setName(getDescription().getName()); configureDbConfig(dbConfig); DataSourceConfig dsConfig = dbConfig.getDataSourceConfig(); dsConfig.setUrl(replaceDatabaseString(dsConfig.getUrl())); getDataFolder().mkdirs(); ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(getClassLoader()); ebean = EbeanServerFactory.create(dbConfig); Thread.currentThread().setContextClassLoader(previous); }
final void init(PluginLoader loader, Server server, PluginDescriptionFile description, File dataFolder, File file, ClassLoader classLoader) { this.loader = loader; this.server = server; this.file = file; this.description = description; this.dataFolder = dataFolder; this.classLoader = classLoader; this.configFile = new File(dataFolder, "config.yml"); this.logger = new PluginLogger(this); if (description.isDatabaseEnabled()) { ServerConfig db = new ServerConfig(); db.setDefaultServer(false); db.setRegister(false); db.setClasses(getDatabaseClasses()); db.setName(description.getName()); server.configureDbConfig(db); DataSourceConfig ds = db.getDataSourceConfig(); ds.setUrl(replaceDatabaseString(ds.getUrl())); dataFolder.mkdirs(); ClassLoader previous = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(classLoader); ebean = EbeanServerFactory.create(db); Thread.currentThread().setContextClassLoader(previous); } }
@Override protected void dataSourceProvided(DataSource dataSource, DataSourceConfig dsConfig, boolean readonly) { ServerConfig ebeanConfig; if (dataSource instanceof EbeanDataSourceWrapper) { EbeanDataSourceWrapper wrapper = (EbeanDataSourceWrapper) dataSource; ebeanConfig = wrapper.ebeanConfig; } else { ebeanConfig = new EbeanConfigAdaptor().adaptFrom(this.config, dsConfig, this); ebeanConfig.setDataSource(dataSource); } app().eventBus().trigger(new EbeanConfigLoaded(ebeanConfig)); if (readonly) { ebeanConfig.setDdlGenerate(false); ebeanConfig.setDdlRun(false); ebeanReadOnly = EbeanServerFactory.create(ebeanConfig); } else { ebean = EbeanServerFactory.create(ebeanConfig); if (null == ebeanReadOnly) { ebeanReadOnly = ebean; } } }
@Override public EbeanServer getObject() throws Exception { ServerConfig config = new ServerConfig(); config.setName("default"); config.setDataSource(dataSource); config.setExternalTransactionManager(new SpringAwareJdbcTransactionManager()); config.setDefaultServer(true); config.setRegister(true); return EbeanServerFactory.create(config); }
servers.put(key, EbeanServerFactory.create(config));
config.setRegister(true); EbeanServerFactory.create(config);
return EbeanServerFactory.create(serverConfig); } catch (final Exception e) { throw new ExceptionInInitializerError(e);