diff --git a/src/main/java/io/ebean/config/ServerConfig.java b/src/main/java/io/ebean/config/ServerConfig.java index 8f8bdec32..e62f4356a 100644 --- a/src/main/java/io/ebean/config/ServerConfig.java +++ b/src/main/java/io/ebean/config/ServerConfig.java @@ -2,18 +2,16 @@ package io.ebean.config; import com.fasterxml.jackson.core.JsonFactory; import io.ebean.EbeanServerFactory; -import io.ebean.annotation.PersistBatch; import io.ebean.PersistenceContextScope; -import io.ebean.annotation.Platform; import io.ebean.Query; import io.ebean.Transaction; import io.ebean.annotation.Encrypted; +import io.ebean.annotation.PersistBatch; +import io.ebean.annotation.Platform; import io.ebean.cache.ServerCachePlugin; import io.ebean.config.dbplatform.DatabasePlatform; import io.ebean.config.dbplatform.DbEncrypt; import io.ebean.config.dbplatform.DbType; -import io.ebeaninternal.dbmigration.DbOffline; -import io.ebean.migration.MigrationRunner; import io.ebean.event.BeanFindController; import io.ebean.event.BeanPersistController; import io.ebean.event.BeanPersistListener; @@ -28,8 +26,8 @@ import io.ebean.event.changelog.ChangeLogRegister; import io.ebean.event.readaudit.ReadAuditLogger; import io.ebean.event.readaudit.ReadAuditPrepare; import io.ebean.meta.MetaInfoManager; +import io.ebean.migration.MigrationRunner; import io.ebean.util.StringHelper; - import org.avaje.datasource.DataSourceConfig; import javax.sql.DataSource; @@ -1670,16 +1668,6 @@ public class ServerConfig { this.encryptor = encryptor; } - /** - * Return true if the instance is coming up in offline mode. - *
- * Offline mode is mostly used when generating DB migration. - *
- */ - public boolean isOfflineMode() { - return dbOffline || DbOffline.isSet(); - } - /** * Return true if the EbeanServer instance should be created in offline mode. */ diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java b/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java index 38a08b638..c2564af6a 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultContainer.java @@ -278,7 +278,7 @@ public class DefaultContainer implements SpiContainer { private DataSource getDataSourceFromConfig(ServerConfig config) { - if (config.isOfflineMode()) { + if (isOfflineMode(config)) { logger.debug("... DbOffline using platform [{}]", DbOffline.getPlatform()); return null; } @@ -332,6 +332,10 @@ public class DefaultContainer implements SpiContainer { } } + private boolean isOfflineMode(ServerConfig serverConfig) { + return serverConfig.isDbOffline() || DbOffline.isSet(); + } + /** * Check the autoCommit and Transaction Isolation levels of the DataSource. *
@@ -344,7 +348,7 @@ public class DefaultContainer implements SpiContainer {
*/
private boolean checkDataSource(ServerConfig serverConfig) {
- if (serverConfig.isOfflineMode()) {
+ if (isOfflineMode(serverConfig)) {
return false;
}
diff --git a/src/main/java/io/ebeaninternal/server/core/InternalConfiguration.java b/src/main/java/io/ebeaninternal/server/core/InternalConfiguration.java
index 2141012d9..26c1cac76 100644
--- a/src/main/java/io/ebeaninternal/server/core/InternalConfiguration.java
+++ b/src/main/java/io/ebeaninternal/server/core/InternalConfiguration.java
@@ -19,6 +19,7 @@ import io.ebean.plugin.SpiServer;
import io.ebeaninternal.api.SpiBackgroundExecutor;
import io.ebeaninternal.api.SpiEbeanServer;
import io.ebeaninternal.api.SpiJsonContext;
+import io.ebeaninternal.dbmigration.DbOffline;
import io.ebeaninternal.server.autotune.AutoTuneService;
import io.ebeaninternal.server.autotune.service.AutoTuneServiceFactory;
import io.ebeaninternal.server.cache.DefaultCacheAdapter;
@@ -331,7 +332,8 @@ public class InternalConfiguration {
}
public GeneratedPropertyFactory getGeneratedPropertyFactory() {
- return new GeneratedPropertyFactory(serverConfig, bootupClasses.getIdGenerators());
+ boolean offlineMode = serverConfig.isDbOffline() || DbOffline.isSet();
+ return new GeneratedPropertyFactory(offlineMode, serverConfig, bootupClasses.getIdGenerators());
}
/**
diff --git a/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedPropertyFactory.java b/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedPropertyFactory.java
index cdce7e3bf..f5066cfbd 100644
--- a/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedPropertyFactory.java
+++ b/src/main/java/io/ebeaninternal/server/deploy/generatedproperty/GeneratedPropertyFactory.java
@@ -35,7 +35,7 @@ public class GeneratedPropertyFactory {
private final Map