diff --git a/ebean-api/src/main/java/io/ebean/DatabaseFactory.java b/ebean-api/src/main/java/io/ebean/DatabaseFactory.java index 6ad7b1d89..4aace866a 100644 --- a/ebean-api/src/main/java/io/ebean/DatabaseFactory.java +++ b/ebean-api/src/main/java/io/ebean/DatabaseFactory.java @@ -78,7 +78,7 @@ public class DatabaseFactory { Database server = createInternal(config); if (config.isRegister()) { if (config.isDefaultServer()) { - if (defaultServerName != null) { + if (defaultServerName != null && !defaultServerName.equals(config.getName())) { throw new IllegalStateException("Registering [" + config.getName() + "] as the default server but [" + defaultServerName + "] is already registered as the default"); } defaultServerName = config.getName(); diff --git a/ebean-core/src/test/java/org/MainMemoryLeak.java b/ebean-core/src/test/java/org/MainMemoryLeak.java index d3f085ef3..b659297b4 100644 --- a/ebean-core/src/test/java/org/MainMemoryLeak.java +++ b/ebean-core/src/test/java/org/MainMemoryLeak.java @@ -46,7 +46,12 @@ public class MainMemoryLeak { config.addClass(ECachedBean.class); config.loadFromProperties(); + Database server1 = DatabaseFactory.create(config); + assert server1 != null; + + // create again for #2193 Database server = DatabaseFactory.create(config); + assert server != null; // create a string with 10k chars char[] c = new char[10_000];