Skip to content

Commit 1810ec5

Browse files
committed
Improve caching
1 parent f225044 commit 1810ec5

1 file changed

Lines changed: 11 additions & 12 deletions

File tree

utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/SpringUtExecutionInstrumentation.kt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,19 @@ class SpringUtExecutionInstrumentation(
5151
): UtConcreteExecutionResult {
5252
RepositoryInteraction.recordedInteractions.clear()
5353

54-
val beansToReset: Set<NamedBean> =
55-
if (clazz in relatedBeansCache) {
56-
relatedBeansCache.getValue(clazz)
57-
} else {
58-
val relatedBeans = springContext.getBeansOfType(clazz)
59-
val accessibleTypes = relatedBeans.flatMap { typesAnalyzer.collectAccessibleTypes(it.bean) }
60-
61-
accessibleTypes
62-
.flatMap { springContext.getBeansOfType(it) }
63-
.toSet()
64-
}
54+
val beansToReset: Set<NamedBean> = relatedBeansCache.getOrPut(clazz) {
55+
val relatedBeans = springContext.getBeansOfType(clazz)
56+
val accessibleTypes = relatedBeans.flatMap { typesAnalyzer.collectAccessibleTypes(it.bean) }
6557

66-
beansToReset.forEach { springContext.resetBean(it.beanName) }
58+
val beansToReset = accessibleTypes
59+
.flatMap { springContext.getBeansOfType(it) }
60+
.toSet()
6761

62+
relatedBeansCache[clazz] = beansToReset
63+
beansToReset
64+
}
65+
66+
beansToReset.forEach { springContext.resetBean(it.beanName) }
6867
val jdbcTemplate = getBean("jdbcTemplate")
6968

7069
val entityNames = beansToReset

0 commit comments

Comments
 (0)