this.username = GlobalProperties.get(prefix + "username", null); this.password = GlobalProperties.get(prefix + "password", null); v = GlobalProperties.get(prefix + "databaseDriver", null); this.driver = GlobalProperties.get(prefix + "driver", v); v = GlobalProperties.get(prefix + "databaseUrl", null); this.url = GlobalProperties.get(prefix + "url", v); this.captureStackTrace = GlobalProperties.getBoolean(prefix + "captureStackTrace", false); this.maxStackTraceSize = GlobalProperties.getInt(prefix + "maxStackTraceSize", 5); this.leakTimeMinutes = GlobalProperties.getInt(prefix + "leakTimeMinutes", 30); this.maxInactiveTimeSecs = GlobalProperties.getInt(prefix + "maxInactiveTimeSecs", 900); this.minConnections = GlobalProperties.getInt(prefix + "minConnections", 0); this.maxConnections = GlobalProperties.getInt(prefix + "maxConnections", 20); this.pstmtCacheSize = GlobalProperties.getInt(prefix + "pstmtCacheSize", 20); this.cstmtCacheSize = GlobalProperties.getInt(prefix + "cstmtCacheSize", 20); this.waitTimeoutMillis = GlobalProperties.getInt(prefix + "waitTimeout", 1000); this.heartbeatSql = GlobalProperties.get(prefix + "heartbeatSql", null); this.poolListener = GlobalProperties.get(prefix + "poolListener", null); this.offline = GlobalProperties.getBoolean(prefix + "offline", false); String isoLevel = GlobalProperties.get(prefix + "isolationlevel", "READ_COMMITTED"); this.isolationLevel = getTransactionIsolationLevel(isoLevel); String customProperties = GlobalProperties.get(prefix + "customProperties", null);
/** * The servlet container is starting. * <p> * Initialise the properties file using SystemProperties.initWebapp(); * and start Ebean. * </p> */ public void contextInitialized(ServletContextEvent event) { try { ServletContext servletContext = event.getServletContext(); GlobalProperties.setServletContext(servletContext); if (servletContext != null) { String servletRealPath = servletContext.getRealPath(""); GlobalProperties.put("servlet.realpath", servletRealPath); logger.info("servlet.realpath=[" + servletRealPath + "]"); } Ebean.getServer(null); } catch (Exception ex) { ex.printStackTrace(); } }
/** * Return the log directory substituting any expressions * such as ${catalina.base} etc. */ public String getLogDirectoryWithEval() { return GlobalProperties.evaluateExpressions(logDirectory); }
/** * Construct this DmlPersistExecute. */ public DefaultPersistExecute(boolean validate, Binder binder, PstmtBatch pstmtBatch) { this.validate = validate; this.exeOrmUpdate = new ExeOrmUpdate(binder, pstmtBatch); this.exeUpdateSql = new ExeUpdateSql(binder, pstmtBatch); this.exeCallableSql = new ExeCallableSql(binder, pstmtBatch); this.defaultBatchGenKeys = GlobalProperties.getBoolean("batch.getgeneratedkeys", true); this.defaultBatchSize = GlobalProperties.getInt("batch.size", 20); }
private static BootupEbeanManager createServerFactory() { // String d___ = com.avaje.ebean.server.core.DefaultServerFactory.class.getName(); String dflt = "com.avaje.ebeaninternal.server.core.DefaultServerFactory"; String implClassName = GlobalProperties.get("ebean.serverfactory", dflt); int delaySecs = GlobalProperties.getInt("ebean.start.delay", 0); if (delaySecs > 0) { try { // perhaps useful to delay the startup to give time to // attach a debugger when running in a server like tomcat. String m = "Ebean sleeping " + delaySecs + " seconds due to ebean.start.delay"; logger.log(Level.INFO, m); Thread.sleep(delaySecs * 1000); } catch (InterruptedException e) { String m = "Interrupting debug.start.delay of " + delaySecs; logger.log(Level.SEVERE, m, e); } } try { // use a client side implementation? return (BootupEbeanManager)ClassUtil.newInstance(implClassName); } catch (Exception ex) { throw new RuntimeException(ex); } } }
public String get(String key, String defaultValue) { String namedKey = "ebean." + serverName + "." + key; String inheritKey = "ebean." + key; String value = GlobalProperties.get(namedKey, null); if (value == null) { value = GlobalProperties.get(inheritKey, null); } if (value == null) { return defaultValue; } else { return value; } }
public AnnotationFields(DeployBeanInfo<?> info) { super(info); if (GlobalProperties.getBoolean("ebean.lobEagerFetch", false)) { defaultLobFetchType = FetchType.EAGER; } }
public DefaultRelationalQueryEngine(MAdminLogging logControl, Binder binder, String dbTrueValue) { this.binder = binder; this.defaultMaxRows = GlobalProperties.getInt("nativesql.defaultmaxrows",100000); this.dbTrueValue = dbTrueValue == null ? "true" : dbTrueValue; }
private void initClassPaths() { try { String cn = GlobalProperties.get("ebean.classpathreader", null); if (cn != null){ // use a user defined classPathReader logger.info("Using ["+cn+"] to read the searchable class path"); classPathReader = (ClassPathReader)ClassUtil.newInstance(cn, this.getClass()); } classPaths = classPathReader.readPath(classLoader); if (classPaths == null || classPaths.length == 0){ String msg = "ClassPath is EMPTY using ClassPathReader ["+classPathReader+"]"; logger.warning(msg); } boolean debug = GlobalProperties.getBoolean("ebean.debug.classpath", false); if (debug || logger.isLoggable(Level.FINER)) { String msg = "Classpath " + Arrays.toString(classPaths); logger.info(msg); } } catch (Exception e) { String msg = "Error trying to read the classpath entries"; throw new RuntimeException(msg, e); } }
/** * Return a boolean property with a default value. */ public static synchronized boolean getBoolean(String key, boolean defaultValue) { return getPropertyMap().getBoolean(key, defaultValue); }
/** * Return a PropertySource for this server. */ public PropertySource getPropertySource() { return GlobalProperties.getPropertySource(name); }
/** * Return the property map loading it if required. */ private static synchronized PropertyMap getPropertyMap() { if (globalMap == null) { initPropertyMap(); } return globalMap; }
private ServerManager() { // skipDefaultServer is set by EbeanServerFactory // ... when it is creating the primaryServer if (GlobalProperties.isSkipPrimaryServer()) { // primary server being created by EbeanServerFactory // ... so we should not try and create it here logger.fine("GlobalProperties.isSkipPrimaryServer()"); } else { // look to see if there is a default server defined String primaryName = getPrimaryServerName(); logger.fine("primaryName:" + primaryName); if (primaryName != null && primaryName.trim().length() > 0) { primaryServer = getWithCreate(primaryName.trim()); } } }
/** * Return the resource loader for external sql files. * <p> * This can be url based (for webapps) or otherwise file based. * </p> */ protected static ResourceSource createResourceSource(ServerConfig serverConfig) { // default for web application, override this for file system String defaultDir = serverConfig.getResourceDirectory(); // the default... check if a webapp first... ServletContext sc = GlobalProperties.getServletContext(); if (sc != null) { // servlet container so use ServletContext.getResource() if (defaultDir == null) { defaultDir = "WEB-INF/ebean"; } return new UrlResourceSource(sc, defaultDir); } // use File System directory return createFileSource(defaultDir); }
/** * Construct this DmlPersistExecute. */ public DefaultPersistExecute(boolean validate, Binder binder, PstmtBatch pstmtBatch) { this.validate = validate; this.exeOrmUpdate = new ExeOrmUpdate(binder, pstmtBatch); this.exeUpdateSql = new ExeUpdateSql(binder, pstmtBatch); this.exeCallableSql = new ExeCallableSql(binder, pstmtBatch); this.defaultBatchGenKeys = GlobalProperties.getBoolean("batch.getgeneratedkeys", true); this.defaultBatchSize = GlobalProperties.getInt("batch.size", 20); }
private static BootupEbeanManager createServerFactory() { // String d___ = // com.avaje.ebean.server.core.DefaultServerFactory.class.getName(); String dflt = "com.avaje.ebeaninternal.server.core.DefaultServerFactory"; String implClassName = GlobalProperties.get("ebean.serverfactory", dflt); int delaySecs = GlobalProperties.getInt("ebean.start.delay", 0); if (delaySecs > 0) { try { // perhaps useful to delay the startup to give time to // attach a debugger when running in a server like tomcat. String m = "Ebean sleeping " + delaySecs + " seconds due to ebean.start.delay"; logger.log(Level.INFO, m); Thread.sleep(delaySecs * 1000); } catch (InterruptedException e) { String m = "Interrupting debug.start.delay of " + delaySecs; logger.log(Level.SEVERE, m, e); } } try { // use a client side implementation? return (BootupEbeanManager) ClassUtil.newInstance(implClassName); } catch (Exception ex) { throw new RuntimeException(ex); } } }
public AnnotationFields(DeployBeanInfo<?> info) { super(info); if (GlobalProperties.getBoolean("ebean.lobEagerFetch", false)) { defaultLobFetchType = FetchType.EAGER; } }
public DefaultRelationalQueryEngine(MAdminLogging logControl, Binder binder, String dbTrueValue) { this.binder = binder; this.defaultMaxRows = GlobalProperties.getInt("nativesql.defaultmaxrows",100000); this.dbTrueValue = dbTrueValue == null ? "true" : dbTrueValue; }