My question is how to manage a rule base that is composed from sets of rules drawn from different sources.
Our goal is to supply sets of rules as .jar files - each .jar file containing a related set of rules. For instance, consider an expert system where different experts could export their expertise in such a jar file. Such a .jar file would contain one or more .drl files and a set of supporting .java classes. We'd like to be able to refer to these .jar files using a URLClassLoader and/or JarURLConnection so they can be referred to without a user having to download them prior to starting their application. Users should be able to combine those provided rules (that is, the rules of those experts whose knowledge they wish to exploit) with their own rules in their own .drl files. My question is whether drools supports such a setup easily. Specifically, is there a way for a user to import external .jar files in their .drl files? A statement such as use jar:http://expertbase.com/expert1/knowledge5.jar which would instruct the rule compiler to load the classes from this jar to its compile class path, and which would instruct the class loader used to load the user's classes to delegate to the loader used to load the jar file's classes? [Note that a given expert's knowledge should only be loaded by one classloader.] I browsed through the API and discovered that the package builder configuration allows the specification of a class loader. Does this mean the rule compiler will attempt to load related classes through this loader as well? If so, it would need to use reflection to examine those classes (which I'd find unlikely). If not, is there a way to control the rule compiler's compiler classpath? In our current prototype, we need to load everything through the application classpath to avoid compile errors. - Godmar _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
