#1922 - Performance - Too pessimistic synchronized block for lazy loading on reference bean or l2 cache bean

This commit is contained in:
rob bygrave
2020-01-30 18:48:39 +13:00
parent f1cf94365c
commit 2bb52a9581
12 changed files with 161 additions and 31 deletions
@@ -323,10 +323,6 @@ public class TDSpiEbeanServer implements SpiEbeanServer {
public void loadMany(BeanCollection<?> collection, boolean onlyIds) {
}
@Override
public void loadBean(EntityBeanIntercept ebi) {
}
@Override
public void shutdown(boolean shutdownDataSource, boolean deregisterDriver) {
}
@@ -3,13 +3,17 @@ package io.ebeaninternal.server.deploy;
import io.ebean.BaseTestCase;
import io.ebean.BeanState;
import io.ebean.Ebean;
import org.junit.Test;
import org.tests.model.basic.Order;
import org.tests.model.basic.ResetBasicData;
import org.junit.Assert;
import org.junit.Test;
import java.util.Set;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
public class TestReferenceWithConstructorProperties extends BaseTestCase {
/**
@@ -24,14 +28,14 @@ public class TestReferenceWithConstructorProperties extends BaseTestCase {
BeanState beanState = Ebean.getBeanState(order);
Set<String> loadedProps = beanState.getLoadedProps();
Assert.assertEquals(1, loadedProps.size());
Assert.assertTrue(beanState.isReference());
assertEquals(1, loadedProps.size());
assertTrue(beanState.isReference());
// read the status invokes lazy loading
order.getStatus();
Assert.assertFalse(beanState.isReference());
assertFalse(beanState.isReference());
assertNotNull(order.getCustomer());
}
}