'What is releaseid in kieRepository in drool engine code

I was going through drool engine code for spring I am not able to find what is the use of kie repository and releaseId in drool engine.I have attached the sample code below can some one explain me this what does it do

public KieContainer kieContainer() throws IOException {
    KieRepository kieRepository = getKieServices().getRepository();

    kieRepository.addKieModule(new KieModule() {
        public ReleaseId getReleaseId() {
            return kieRepository.getDefaultReleaseId();
        }
    });

    KieBuilder kieBuilder = getKieServices()
      .newKieBuilder(kieFileSystem())
      .buildAll();
    

    return getKieServices().newKieContainer(kieRepository.getDefaultReleaseId());


Solution 1:[1]

When you publish your rules in a kjar, they're published to a Maven repository. That's what the "kie repository" is -- the Maven repository with the your rules init. The release id is the artifact id.

The logic you're looking at is how to pull a kjar from a Maven repository and deploy the rules from it.

Alternatively, you could keep your DRL files (or XLSX decision tables, or what not) locally and not bother with either the repository or release id.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Roddy of the Frozen Peas