Class KnowledgeBaseFactory


  • public class KnowledgeBaseFactory
    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:
    KnowledgeBase
    • Constructor Detail

      • KnowledgeBaseFactory

        public KnowledgeBaseFactory()
    • Method Detail

      • newKnowledgeBase

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

        public static InternalKnowledgeBase newKnowledgeBase​(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
      • newKnowledgeBase

        public static InternalKnowledgeBase newKnowledgeBase​(org.kie.api.KieBaseConfiguration conf)
        Create a new KnowledgeBase using the given KnowledgeBaseConfiguration
        Returns:
        The KnowledgeBase
      • newKnowledgeBase

        public static InternalKnowledgeBase newKnowledgeBase​(String kbaseId,
                                                             org.kie.api.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 org.kie.api.KieBaseConfiguration newKnowledgeBaseConfiguration()
        Create a KnowledgeBaseConfiguration on which properties can be set.
        Returns:
        The KnowledgeBaseConfiguration.
      • newKnowledgeBaseConfiguration

        public static org.kie.api.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 org.kie.api.runtime.KieSessionConfiguration newKnowledgeSessionConfiguration()
        Create a KnowledgeSessionConfiguration on which properties can be set.
        Returns:
        The KnowledgeSessionConfiguration.
      • newKnowledgeSessionConfiguration

        public static org.kie.api.runtime.KieSessionConfiguration newKnowledgeSessionConfiguration​(Properties properties)
        Create a KnowledgeSessionConfiguration on which properties can be set.
        Returns:
        The KnowledgeSessionConfiguration.