Hi,
I am trying to use multi schema based tenant. I ran a test set up which result in error. Please advise on this.
Code Snippet written in kotlin
private fun setupProcessEngine(sharedExecutor: Boolean) {
config = MultiSchemaMultiTenantProcessEngineConfiguration(tenantInfoHolder)
config!!.databaseType = MultiSchemaMultiTenantProcessEngineConfiguration.DATABASE_TYPE_MYSQL
config!!.databaseSchemaUpdate = MultiSchemaMultiTenantProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP
config!!.isAsyncExecutorActivate = true
config!!.isDisableIdmEngine = true
if (sharedExecutor) {
config!!.asyncExecutor = SharedExecutorServiceAsyncExecutor(tenantInfoHolder)
} else {
config!!.asyncExecutor = ExecutorPerTenantAsyncExecutor(tenantInfoHolder)
}
// jdbc:mysql://127.0.0.1:3306/cam?useUnicode=true&characterEncoding=UTF-8
tenantInfoHolder?.allTenants?.forEach() {
println(it)
config!!.registerTenant(it, createNewDataSource("jdbc:mysql://127.0.0.1:3306/$it", "root", "root@123"))
}
processEngine = config!!.buildProcessEngine()
}
private fun createNewDataSource(url: String, user: String, password: String): DataSource {
println("Creating datasource URL $url user $user password $password ")
return DataSourceBuilder.create().url(url).username(user).password(password).build()
}
Exception :
indent preformatted text by 4 spaces
. ____ _ __ _ _
/\ / ’ __ _ () __ __ _ \ \ \
( ( )__ | '_ | '| | ’ / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
’ || .__|| ||| |_, | / / / /
=========||==============|/=////
:: Spring Boot :: (v2.1.7.RELEASE)
2019-09-19 11:16:59.325 INFO 13413 — [ Test worker] com.cam.CamApplicationTests : Starting CamApplicationTests
2019-09-19 11:16:59.327 INFO 13413 — [ Test worker] com.cam.CamApplicationTests : No active profile set, falling back to default profiles: default
2019-09-19 11:17:00.844 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : SpringBootJPAHikariCP - Starting…
2019-09-19 11:17:01.129 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : SpringBootJPAHikariCP - Start completed.
2019-09-19 11:17:01.738 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT() FROM cam.DATABASECHANGELOGLOCK
2019-09-19 11:17:01.752 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT() FROM cam.DATABASECHANGELOGLOCK
2019-09-19 11:17:01.756 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT LOCKED
FROM cam.DATABASECHANGELOGLOCK WHERE ID=1
2019-09-19 11:17:02.070 INFO 13413 — [ Test worker] l.lockservice.StandardLockService : Successfully acquired change log lock
2019-09-19 11:17:03.011 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT MD5SUM FROM cam.DATABASECHANGELOG WHERE MD5SUM IS NOT NULL LIMIT 1
2019-09-19 11:17:03.012 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT(*) FROM cam.DATABASECHANGELOG
2019-09-19 11:17:03.014 INFO 13413 — [ Test worker] l.c.StandardChangeLogHistoryService : Reading from cam.DATABASECHANGELOG
2019-09-19 11:17:03.014 INFO 13413 — [ Test worker] liquibase.executor.jvm.JdbcExecutor : SELECT * FROM cam.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
2019-09-19 11:17:03.735 INFO 13413 — [ Test worker] l.lockservice.StandardLockService : Successfully released change log lock
cam5
Creating datasource URL jdbc:mysql://127.0.0.1:3306/cam5 user root password root@123
cam6
Creating datasource URL jdbc:mysql://127.0.0.1:3306/cam6 user root password root@123
cam7
Creating datasource URL jdbc:mysql://127.0.0.1:3306/cam7 user root password root@123
2019-09-19 11:17:03.822 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : Found 1 Engine Configurators in total:
2019-09-19 11:17:03.822 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:100000)
2019-09-19 11:17:03.822 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : Executing beforeInit() of class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:100000)
2019-09-19 11:17:04.710 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : Executing configure() of class org.flowable.idm.engine.configurator.IdmEngineConfigurator (priority:100000)
2019-09-19 11:17:04.720 INFO 13413 — [ Test worker] o.f.idm.engine.impl.IdmEngineImpl : IdmEngine default created
2019-09-19 11:17:04.722 INFO 13413 — [ Test worker] o.f.engine.impl.ProcessEngineImpl : ProcessEngine default created
2019-09-19 11:17:04.728 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : creating/validating database schema for tenant cam5
setting tenantStore cam5
getCurrentTenantId called cam5
2019-09-19 11:17:04.734 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting…
2019-09-19 11:17:04.745 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2019-09-19 11:17:04.752 INFO 13413 — [ Test worker] o.f.c.e.impl.db.CommonDbSchemaManager : performing create on common with resource org/flowable/common/db/create/flowable.mysql.create.common.sql
2019-09-19 11:17:04.752 INFO 13413 — [ Test worker] o.f.c.e.impl.db.CommonDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:09.810 INFO 13413 — [ Test worker] o.f.i.s.i.d.IdentityLinkDbSchemaManager : performing create on identitylink with resource org/flowable/identitylink/service/db/create/flowable.mysql.create.identitylink.sql
2019-09-19 11:17:09.810 INFO 13413 — [ Test worker] o.f.i.s.i.d.IdentityLinkDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:19.891 INFO 13413 — [ Test worker] o.f.i.s.i.d.IdentityLinkDbSchemaManager : performing create on identitylink.history with resource org/flowable/identitylink/service/db/create/flowable.mysql.create.identitylink.history.sql
2019-09-19 11:17:19.892 INFO 13413 — [ Test worker] o.f.i.s.i.d.IdentityLinkDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:27.653 INFO 13413 — [ Test worker] o.f.e.s.i.db.EntityLinkDbSchemaManager : performing create on entitylink with resource org/flowable/entitylink/service/db/create/flowable.mysql.create.entitylink.sql
2019-09-19 11:17:27.653 INFO 13413 — [ Test worker] o.f.e.s.i.db.EntityLinkDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:33.360 INFO 13413 — [ Test worker] o.f.e.s.i.db.EntityLinkDbSchemaManager : performing create on entitylink.history with resource org/flowable/entitylink/service/db/create/flowable.mysql.create.entitylink.history.sql
2019-09-19 11:17:33.361 INFO 13413 — [ Test worker] o.f.e.s.i.db.EntityLinkDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:38.891 INFO 13413 — [ Test worker] e.s.i.d.EventSubscriptionDbSchemaManager : performing create on eventsubscription with resource org/flowable/eventsubscription/service/db/create/flowable.mysql.create.eventsubscription.sql
2019-09-19 11:17:38.892 INFO 13413 — [ Test worker] e.s.i.d.EventSubscriptionDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:42.616 INFO 13413 — [ Test worker] o.f.t.s.impl.db.TaskDbSchemaManager : performing create on task with resource org/flowable/task/service/db/create/flowable.mysql.create.task.sql
2019-09-19 11:17:42.617 INFO 13413 — [ Test worker] o.f.t.s.impl.db.TaskDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:17:51.207 INFO 13413 — [ Test worker] o.f.t.s.impl.db.TaskDbSchemaManager : performing create on task.history with resource org/flowable/task/service/db/create/flowable.mysql.create.task.history.sql
2019-09-19 11:17:51.209 INFO 13413 — [ Test worker] o.f.t.s.impl.db.TaskDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:18:01.383 INFO 13413 — [ Test worker] o.f.v.s.impl.db.VariableDbSchemaManager : performing create on variable with resource org/flowable/variable/service/db/create/flowable.mysql.create.variable.sql
2019-09-19 11:18:01.384 INFO 13413 — [ Test worker] o.f.v.s.impl.db.VariableDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:18:13.910 INFO 13413 — [ Test worker] o.f.v.s.impl.db.VariableDbSchemaManager : performing create on variable.history with resource org/flowable/variable/service/db/create/flowable.mysql.create.variable.history.sql
2019-09-19 11:18:13.911 INFO 13413 — [ Test worker] o.f.v.s.impl.db.VariableDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:18:21.203 INFO 13413 — [ Test worker] o.f.j.s.impl.db.JobDbSchemaManager : performing create on job with resource org/flowable/job/service/db/create/flowable.mysql.create.job.sql
2019-09-19 11:18:21.204 INFO 13413 — [ Test worker] o.f.j.s.impl.db.JobDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:19:52.957 INFO 13413 — [ Test worker] o.f.e.impl.db.ProcessDbSchemaManager : performing create on engine with resource org/flowable/db/create/flowable.mysql.create.engine.sql
2019-09-19 11:19:52.958 INFO 13413 — [ Test worker] o.f.e.impl.db.ProcessDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
2019-09-19 11:24:18.328 INFO 13413 — [ Test worker] o.f.e.impl.db.ProcessDbSchemaManager : performing create on history with resource org/flowable/db/create/flowable.mysql.create.history.sql
2019-09-19 11:24:18.329 INFO 13413 — [ Test worker] o.f.e.impl.db.ProcessDbSchemaManager : Found MySQL: majorVersion=8 minorVersion=0
setting cam5
2019-09-19 11:24:57.287 INFO 13413 — [ Test worker] emaMultiTenantProcessEngineConfiguration : creating/validating database schema for tenant cam6
setting tenantStore cam6
getCurrentTenantId called cam6
2019-09-19 11:24:57.288 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting…
2019-09-19 11:24:57.304 INFO 13413 — [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed.
2019-09-19 11:24:57.341 ERROR 13413 — [ Test worker] o.f.c.e.impl.db.CommonDbSchemaManager : Could not get property from table ACT_GE_PROPERTY
java.sql.SQLSyntaxErrorException: Table ‘cam6.ACT_GE_PROPERTY’ doesn’t exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.17.jar:8.0.17]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.17.jar:8.0.17]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.17.jar:8.0.17]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) ~[mysql-connector-java-8.0.17.jar:8.0.17]
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003) ~[mysql-connector-java-8.0.17.jar:8.0.17]
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-3.3.1.jar:na]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-3.3.1.jar:na]
at org.flowable.common.engine.impl.db.AbstractSqlScriptBasedDbSchemaManager.getProperty(AbstractSqlScriptBasedDbSchemaManager.java:193) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.db.ServiceSqlScriptBasedDbSchemaManager.getSchemaVersion(ServiceSqlScriptBasedDbSchemaManager.java:111) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.db.ServiceSqlScriptBasedDbSchemaManager.schemaCreate(ServiceSqlScriptBasedDbSchemaManager.java:39) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.db.ProcessDbSchemaManager.schemaCreate(ProcessDbSchemaManager.java:86) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.cfg.multitenant.ExecuteSchemaOperationCommand.execute(ExecuteSchemaOperationCommand.java:51) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.cfg.multitenant.ExecuteSchemaOperationCommand.execute(ExecuteSchemaOperationCommand.java:28) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.interceptor.CommandInvoker$1.run(CommandInvoker.java:51) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:93) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.interceptor.CommandInvoker.executeOperations(CommandInvoker.java:72) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:56) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.interceptor.BpmnOverrideContextInterceptor.execute(BpmnOverrideContextInterceptor.java:25) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:72) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56) ~[flowable-engine-common-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.cfg.multitenant.MultiSchemaMultiTenantProcessEngineConfiguration.createTenantSchema(MultiSchemaMultiTenantProcessEngineConfiguration.java:149) ~[flowable-engine-6.4.2.jar:6.4.2]
at org.flowable.engine.impl.cfg.multitenant.MultiSchemaMultiTenantProcessEngineConfiguration.buildProcessEngine(MultiSchemaMultiTenantProcessEngineConfiguration.java:134) ~[flowable-engine-6.4.2.jar:6.4.2]
at com.cam.multitendency.flowable.MultiTenantFlowableIml.setupProcessEngine(MultiTenantFlowableIml.kt:93) ~[main/:na]
at com.cam.multitendency.flowable.MultiTenantFlowableIml.(MultiTenantFlowableIml.kt:32) ~[main/:na]
at com.cam.multitenant.liquibase.MultiTenantLiquibaseImpl.getFlowableMultiTenant(MultiTenantLiquibaseImpl.kt:27) ~[main/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1321) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:845) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743) ~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390) ~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) ~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:120) ~[spring-boot-test-2.1.7.RELEASE.jar:2.1.7.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) ~[junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) ~[junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) ~[spring-test-5.1.9.RELEASE.jar:5.1.9.RELEASE]
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) ~[na:na]
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) ~[na:na]
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) ~[na:na]
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) ~[na:na]
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) ~[na:na]
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) ~[na:na]
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) ~[na:na]
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) ~[na:na]
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source) ~[na:na]
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:118) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) ~[na:na]
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) ~[na:na]
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) ~[na:na]
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) ~[na:na]
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412) ~[na:na]
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) ~[na:na]
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:834)