This discussion is archived
3 Replies Latest reply: May 13, 2013 5:39 AM by RajuGurusamy RSS

Error (re)loading rulebase, entity '' does not exist in module

Stephen Doody Newbie
Currently Being Moderated
I am running into a problem using a module, vs using a normal entity definition (in a properties file).

When using properties, everything works just fine, when in a module, not so much...

This item is similar (but not identical in appearance) to another post on Sep 9, 2012 10:33 PM. There have been no updates or entries on that post, so I decided to open another...

As is my custom, I initially designed a method of using a specific entity "the employment" in a proof of concept rulebase, which works just fine.
I then merged the poc into our main rulebase development tree, implemented as a imported module; to take advantage of the new 10.4.1 module re-use capability; to include shared entities and rules.

On deployment to an instance of Tomcat (6), I checked that both the rulebase .zip and the .rmod files were deployed into the rulebases tomcat directory

However on starting tomcat, with the module based deployment, I get the error log entry below.

A side issue, that caused additional confusion, is that this log entry is NOT being produced when running in the OPM embedded tomcat (on port 9000 by default) , the app simply fails with the usual message "An error occurred trying to process your request. This error has been logged and is available in the application logs"? The OPM logging is set to console at debug level, but the messages do not appear via OPM? Why is that?

However, on a real and completely separate install of Tomcat, the log messages do appear, as copied below...

I have checked and re-checked that all the entity's defined have public names; it appears as if the OPM build is erroneously dropping the name and then the new module rulebase loader fails when it tries to load an entity with a null / blank name.

Is there any work-around for this problem? As it stands, it appears to break any attempt to use entities defined in modules.

Please advise soonest if this analysis is correct, or any workaround known, we need to make a decision whether to fall back to a non-modular integration design, until this can be resolved.

Kind regards to all.
Be glad to discuss any details etc.

Stephen Doody: sd@xRulz.com

Note: I edited the rulebase names embedded here for client privacy.

2012-11-12 12:32:04 Commons Daemon procrun stdout initialized
Listening for transport dt_socket at address: 8010
1 [main] ERROR com.oracle.determinations.interview.engine.RulebaseService - Error (re)loading rulebase 'fc': entity '' does not exist in module 'fpr'
com.oracle.determinations.engine.exceptions.RulebaseLoadException: entity '' does not exist in module 'fpr'
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:142)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.resolveRuleRefs(VirtualRulebaseCoreWriter.java:232)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.writeRules(VirtualRulebaseCoreWriter.java:104)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.writeRules(VirtualRulebaseCoreWriter.java:109)
     at com.oracle.determinations.engine.local.modules.VirtualRulebaseCoreWriter.createRulebaseXmlFile(VirtualRulebaseCoreWriter.java:48)
     at com.oracle.determinations.engine.local.modules.ModuleLoader.writeVirtualRulebase(ModuleLoader.java:335)
     at com.oracle.determinations.engine.local.modules.ModuleLoader.createUnifiedRulebase(ModuleLoader.java:36)
     at com.oracle.determinations.engine.local.RulebaseLoader.createUnifiedRulebase(RulebaseLoader.java:141)
     at com.oracle.determinations.interview.engine.local.LocalRulebaseService.applyChangeSet(LocalRulebaseService.java:243)
     at com.oracle.determinations.interview.engine.plugins.rulebaseresolver.ClassloaderRulebaseResolverPlugin.initialise(ClassloaderRulebaseResolverPlugin.java:73)
     at com.oracle.determinations.interview.engine.local.LocalRulebaseService.<init>(LocalRulebaseService.java:53)
     at com.oracle.determinations.interview.engine.local.LocalInterviewEngine.initialise(LocalInterviewEngine.java:181)
     at com.oracle.determinations.interview.engine.local.LocalInterviewEngine.<init>(LocalInterviewEngine.java:66)
     at com.oracle.determinations.interview.engine.InterviewEngineFactory.createInstance(InterviewEngineFactory.java:19)
     at com.oracle.determinations.web.platform.servlet.WebDeterminationsServletContext.init(WebDeterminationsServletContext.java:180)
     at com.oracle.determinations.web.platform.servlet.WebDeterminationsServletContext.<init>(WebDeterminationsServletContext.java:116)
     at com.oracle.determinations.web.platform.servlet.WebDeterminationsServlet.init(WebDeterminationsServlet.java:73)
     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1206)
     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026)
     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
     at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
     at org.apache.catalina.core.StandardService.start(StandardService.java:525)
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
5 [main] WARN com.oracle.determinations.interview.engine.plugins.rulebaseresolver.ClassloaderRulebaseResolverPlugin - Not all rulebases loaded!

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points