From 610afd371751b3e8feee9a941742160b5ba738c3 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Mon, 5 Sep 2022 19:33:40 +1200 Subject: [PATCH] Update tests --- .../org/example/EbeanServerFactoryBean.java | 25 ++-- .../org/example/EbeanSpringModuleTest.java | 7 +- .../java/org/example/UserServiceImpl.java | 127 +++++++++--------- src/test/resources/default-ebean-server.xml | 2 +- 4 files changed, 80 insertions(+), 81 deletions(-) diff --git a/src/test/java/org/example/EbeanServerFactoryBean.java b/src/test/java/org/example/EbeanServerFactoryBean.java index 41a128a8f..935a2d224 100644 --- a/src/test/java/org/example/EbeanServerFactoryBean.java +++ b/src/test/java/org/example/EbeanServerFactoryBean.java @@ -1,30 +1,29 @@ package org.example; +import io.ebean.Database; +import io.ebean.DatabaseFactory; import io.ebean.annotation.PersistBatch; +import io.ebean.config.DatabaseConfig; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; -import io.ebean.EbeanServer; -import io.ebean.EbeanServerFactory; -import io.ebean.config.ServerConfig; - /** * A Spring FactoryBean for constructing EbeanServer instances. * * @since 18.05.2009 * @author E Mc Greal */ -public class EbeanServerFactoryBean implements InitializingBean, FactoryBean { +public class EbeanServerFactoryBean implements InitializingBean, FactoryBean { /** * The Ebean server configuration. */ - private ServerConfig serverConfig; + private DatabaseConfig serverConfig; /** * The EbeanServer instance. */ - private EbeanServer ebeanServer; + private Database ebeanServer; public void afterPropertiesSet() throws Exception { @@ -34,15 +33,15 @@ public class EbeanServerFactoryBean implements InitializingBean, FactoryBean getObjectType() { - return EbeanServer.class; + public Class getObjectType() { + return Database.class; } /** @@ -55,14 +54,14 @@ public class EbeanServerFactoryBean implements InitializingBean, FactoryBean users = new ArrayList<>(); - for(int i=0 ;i<25;i++){ - User user = new User(); - user.setName("user"+i); - users.add(user); + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) + public void save(User user) { + ebeanServer.save(user); } - System.out.println("---------before batch-------"); + @Transactional(readOnly = true, propagation = Propagation.REQUIRED) + public User find(long id) { + return ebeanServer.find(User.class, id); + } - Transaction tx = ebeanServer.currentTransaction(); - tx.setBatchSize(20); - ebeanServer.saveAll(users); + public void nonTransactional() { + ebeanServer.currentTransaction(); + } - System.out.println("---------after batch-------"); + public User findNoCurrentTransaction(long id) { + return ebeanServer.find(User.class, id); + } - applicationContext.getBean(UserService.class).requiresNew(); - } + @Transactional(propagation = Propagation.REQUIRED) + public void batchInsert() { - @Transactional(propagation = Propagation.REQUIRES_NEW) - public void requiresNew() { - User user = new User(); - user.setName("user_x0"); - user.insert(); - //ebeanServer.save(user); - } + List users = new ArrayList<>(); + for (int i = 0; i < 25; i++) { + User user = new User(); + user.setName("user" + i); + users.add(user); + } + + System.out.println("---------before batch-------"); + + Transaction tx = ebeanServer.currentTransaction(); + tx.setBatchSize(20); + ebeanServer.saveAll(users); + + System.out.println("---------after batch-------"); + + applicationContext.getBean(UserService.class).requiresNew(); + } + + @Transactional(propagation = Propagation.REQUIRES_NEW) + public void requiresNew() { + User user = new User(); + user.setName("user_x0"); + user.insert(); + //ebeanServer.save(user); + } - /** - * Return the ebean server. - */ - public EbeanServer getEbeanServer() { - return ebeanServer; - } + /** + * Return the ebean server. + */ + public Database getEbeanServer() { + return ebeanServer; + } - /** - * Sets the ebean server. - */ - public void setEbeanServer(EbeanServer ebeanServer) { - this.ebeanServer = ebeanServer; - } + /** + * Sets the ebean server. + */ + public void setEbeanServer(Database ebeanServer) { + this.ebeanServer = ebeanServer; + } - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = applicationContext; - } + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } } diff --git a/src/test/resources/default-ebean-server.xml b/src/test/resources/default-ebean-server.xml index 44da26196..87ebce8bd 100644 --- a/src/test/resources/default-ebean-server.xml +++ b/src/test/resources/default-ebean-server.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd"> - +