hotfix: invalidate kieContainer Cache before every test

This commit is contained in:
Kilian Schuettler 2023-07-31 11:30:15 +02:00
parent 89f2ed7655
commit 5718db1725
2 changed files with 18 additions and 4 deletions

View File

@ -51,13 +51,13 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true) @FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = false)
public class DroolsExecutionService { public class DroolsExecutionService {
RulesClient rulesClient; final RulesClient rulesClient;
Map<String, KieContainer> kieContainers = new HashMap<>(); Map<String, KieContainer> kieContainers = new HashMap<>();
Map<String, Long> rulesVersionPerDossierTemplateId = new HashMap<>(); final Map<String, Long> rulesVersionPerDossierTemplateId = new HashMap<>();
EntityEnrichmentService entityEnrichmentService; final EntityEnrichmentService entityEnrichmentService;
public KieContainer getKieContainer(String dossierTemplateId) { public KieContainer getKieContainer(String dossierTemplateId) {
@ -70,6 +70,12 @@ public class DroolsExecutionService {
} }
} }
public void invalidateKieContainerCache() {
// TODO: fix this cache!
// This cache fails 5 tests from redactionIntegrationTest
kieContainers = new HashMap<>();
}
@Timed("redactmanager_executeRules") @Timed("redactmanager_executeRules")
public List<FileAttribute> executeRules(KieContainer kieContainer, public List<FileAttribute> executeRules(KieContainer kieContainer,

View File

@ -76,6 +76,7 @@ import com.iqser.red.service.redaction.v1.server.document.graph.nodes.Document;
import com.iqser.red.service.redaction.v1.server.document.graph.nodes.Section; import com.iqser.red.service.redaction.v1.server.document.graph.nodes.Section;
import com.iqser.red.service.redaction.v1.server.document.services.EntityCreationService; import com.iqser.red.service.redaction.v1.server.document.services.EntityCreationService;
import com.iqser.red.service.redaction.v1.server.document.services.EntityEnrichmentService; import com.iqser.red.service.redaction.v1.server.document.services.EntityEnrichmentService;
import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService;
import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils;
import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService;
import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.iqser.red.storage.commons.StorageAutoConfiguration;
@ -95,6 +96,8 @@ public class RedactionIntegrationTest extends AbstractRedactionIntegrationTest {
@Autowired @Autowired
private EntityEnrichmentService entityEnrichmentService; private EntityEnrichmentService entityEnrichmentService;
@Autowired
private DroolsExecutionService droolsExecutionService;
@Configuration @Configuration
@EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class}) @EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class})
@ -110,6 +113,11 @@ public class RedactionIntegrationTest extends AbstractRedactionIntegrationTest {
} }
} }
@BeforeEach
public void invalidateCaches() {
droolsExecutionService.invalidateKieContainerCache();
}
@BeforeEach @BeforeEach