Class RuleBaseFactory

java.lang.Object
org.drools.core.impl.RuleBaseFactory

public class RuleBaseFactory extends Object

This factory will create and return a KnowledgeBase instance, an optional KnowledgeBaseConfiguration can be provided. The KnowledgeBaseConfiguration is also itself created from this factory.

 KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
 

Create sequential KnowledgeBase using the given ClassLoader.

 Properties properties = new Properties();
 properties.setOption( SequentialOption.YES );
 KnowledgeBaseConfiguration kbConf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(properties, myClassLoader);
 KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(kbConf);
 

The above could also have used the supported property

 properties.setProperty( "org.kie.sequential", "true");
 
See Also:
  • Constructor Details

    • RuleBaseFactory

      public RuleBaseFactory()
  • Method Details

    • newRuleBase

      public static InternalRuleBase newRuleBase()
      Create a new KnowledgeBase using the default KnowledgeBaseConfiguration
      Returns:
      The KnowledgeBase
    • newRuleBase

      public static InternalRuleBase newRuleBase(String kbaseId)
      Create a new KnowledgeBase using the default KnowledgeBaseConfiguration and the given KnowledgeBase ID.
      Parameters:
      kbaseId - A string Identifier for the knowledge base. Specially useful when enabling JMX monitoring and management, as that ID will be used to compose the JMX ObjectName for all related MBeans. The application must ensure all kbase IDs are unique.
      Returns:
      The KnowledgeBase
    • newRuleBase

      public static InternalRuleBase newRuleBase(KieBaseConfiguration conf)
      Create a new KnowledgeBase using the given KnowledgeBaseConfiguration
      Returns:
      The KnowledgeBase
    • newRuleBase

      public static InternalRuleBase newRuleBase(String kbaseId, KieBaseConfiguration conf)
      Create a new KnowledgeBase using the given KnowledgeBaseConfiguration and the given KnowledgeBase ID.
      Parameters:
      kbaseId - A string Identifier for the knowledge base. Specially useful when enabling JMX monitoring and management, as that ID will be used to compose the JMX ObjectName for all related MBeans. The application must ensure all kbase IDs are unique.
      Returns:
      The KnowledgeBase
    • newKnowledgeBaseConfiguration

      public static KieBaseConfiguration newKnowledgeBaseConfiguration()
      Create a KnowledgeBaseConfiguration on which properties can be set.
      Returns:
      The KnowledgeBaseConfiguration.
    • newKnowledgeBaseConfiguration

      public static KieBaseConfiguration newKnowledgeBaseConfiguration(Properties properties, ClassLoader... classLoaders)
      Create a KnowledgeBaseConfiguration on which properties can be set. Use the given properties file and ClassLoader - either of which can be null.
      Returns:
      The KnowledgeBaseConfiguration.
    • newKnowledgeSessionConfiguration

      public static KieSessionConfiguration newKnowledgeSessionConfiguration()
      Create a KnowledgeSessionConfiguration on which properties can be set.
      Returns:
      The KnowledgeSessionConfiguration.
    • newKnowledgeSessionConfiguration

      public static KieSessionConfiguration newKnowledgeSessionConfiguration(ChainedProperties chained, ClassLoader classLoader)