While trying to load huge data(around 1,00,000 records) throws "GC overhead limit exceeded" error. The code snippet used is below:
public static void GridUploadPVT() throws Exception {
try {
KnowledgeBase knowledgeBaseTest = genKnowledgeBaseXlsx("GridUploadPVT.xlsx");
StatelessKnowledgeSession session = knowledgeBaseTest.newStatelessKnowledgeSession();
GridUploadPVT griduploadpvt = new GridUploadPVT(prodName, xAxis, yAxis, tranType, vehAge, "YES");
session.execute(griduploadpvt);
} catch (Exception ex) {
System.out.println("Exception:" + ex.toString());
throw new RuntimeException(excommonItem);
}
}
private static KnowledgeBase genKnowledgeBaseXlsx(String xlsx) throws Exception {
DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
dtconf.setInputType(DecisionTableInputType.XLSX);
KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
knowledgeBuilder.add(ResourceFactory.newClassPathResource(xlsx),
ResourceType.DTABLE, dtconf);
if (knowledgeBuilder.hasErrors()) {
throw new RuntimeException(knowledgeBuilder.getErrors().toString());
}
KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
knowledgeBase.addKnowledgePackages(knowledgeBuilder.getKnowledgePackages());
return knowledgeBase;
}