Class SimpleRuntimeEnvironment

  • All Implemented Interfaces:
    SchedulerProvider, org.kie.api.runtime.manager.RuntimeEnvironment, org.kie.internal.runtime.manager.RuntimeEnvironment
    Direct Known Subclasses:
    DefaultRuntimeEnvironment

    public class SimpleRuntimeEnvironment
    extends Object
    implements org.kie.internal.runtime.manager.RuntimeEnvironment, SchedulerProvider
    The most basic implementation of the RuntimeEnvironment that, at the same time, serves as base implementation for all extensions. Encapsulates all important configuration that RuntimeManager requires for execution.
    • EntityManagerFactory - shared for all runtime engine build based on same RuntimeEnvironment
    • Environment - Drools/jBPM environment object - will be cloned for every RuntimeEngine
    • KieSessionConfiguration - will be build passed on defined properties - cloned for every RuntimeEngine
    • KieBase - resulting knowledge base build on given assets or returned if it was preset
    • RegisterableItemsFactory - factory used to provide listeners and work item handlers
    • Mapper - mapper used to keep context information
    • UserGroupCallback - user group callback, if not given null will be returned
    • GlobalSchedulerService - since this environment implements SchedulerProvider it allows to get GlobalTimerService if available
    • Field Detail

      • usePersistence

        protected boolean usePersistence
      • emf

        protected javax.persistence.EntityManagerFactory emf
      • environment

        protected org.kie.api.runtime.Environment environment
      • configuration

        protected org.kie.api.runtime.KieSessionConfiguration configuration
      • kbase

        protected org.kie.api.KieBase kbase
      • kbuilder

        protected org.kie.internal.builder.KnowledgeBuilder kbuilder
      • registerableItemsFactory

        protected org.kie.api.runtime.manager.RegisterableItemsFactory registerableItemsFactory
      • mapper

        protected org.kie.internal.runtime.manager.Mapper mapper
      • userGroupCallback

        protected org.kie.api.task.UserGroupCallback userGroupCallback
      • userInfo

        protected org.kie.api.task.UserInfo userInfo
      • sessionConfigProperties

        protected Properties sessionConfigProperties
    • Constructor Detail

      • SimpleRuntimeEnvironment

        public SimpleRuntimeEnvironment()
      • SimpleRuntimeEnvironment

        public SimpleRuntimeEnvironment​(org.kie.api.runtime.manager.RegisterableItemsFactory registerableItemsFactory)
    • Method Detail

      • init

        public void init()
      • addAsset

        public void addAsset​(org.kie.api.io.Resource resource,
                             org.kie.api.io.ResourceType type)
        Adds given asset to knowledge builder to produce KieBase
        Parameters:
        resource - asset to be added
        type - type of the asset
      • addToEnvironment

        public void addToEnvironment​(String name,
                                     Object value)
        Adds element to the drools/jbpm environment - the value must be thread save as it will be shared between all RuntimeEngine instances
        Parameters:
        name - name of the environment entry
        value - value of the environment entry
      • addToConfiguration

        public void addToConfiguration​(String name,
                                       String value)
        Adds configuration property that will be part of KieSessionConfiguration
        Parameters:
        name - name of the property
        value - value of the property
      • getKieBase

        public org.kie.api.KieBase getKieBase()
        Specified by:
        getKieBase in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • getEnvironmentTemplate

        public org.kie.api.runtime.Environment getEnvironmentTemplate()
      • getEnvironment

        public org.kie.api.runtime.Environment getEnvironment()
        Specified by:
        getEnvironment in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • getConfiguration

        public org.kie.api.runtime.KieSessionConfiguration getConfiguration()
        Specified by:
        getConfiguration in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • usePersistence

        public boolean usePersistence()
        Specified by:
        usePersistence in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • getRegisterableItemsFactory

        public org.kie.api.runtime.manager.RegisterableItemsFactory getRegisterableItemsFactory()
        Specified by:
        getRegisterableItemsFactory in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • close

        public void close()
        Specified by:
        close in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • addIfPresent

        protected void addIfPresent​(String name,
                                    org.kie.api.runtime.Environment copy)
      • copyEnvironment

        protected org.kie.api.runtime.Environment copyEnvironment()
      • getMapper

        public org.kie.internal.runtime.manager.Mapper getMapper()
        Specified by:
        getMapper in interface org.kie.internal.runtime.manager.RuntimeEnvironment
      • getUserGroupCallback

        public org.kie.api.task.UserGroupCallback getUserGroupCallback()
        Specified by:
        getUserGroupCallback in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • setUserGroupCallback

        public void setUserGroupCallback​(org.kie.api.task.UserGroupCallback userGroupCallback)
      • getUserInfo

        public org.kie.api.task.UserInfo getUserInfo()
        Specified by:
        getUserInfo in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • setUserInfo

        public void setUserInfo​(org.kie.api.task.UserInfo userInfo)
      • getSessionConfigProperties

        public Properties getSessionConfigProperties()
      • setSessionConfigProperties

        public void setSessionConfigProperties​(Properties sessionConfigProperties)
      • setUsePersistence

        public void setUsePersistence​(boolean usePersistence)
      • setKieBase

        public void setKieBase​(org.kie.api.KieBase kbase)
      • setMapper

        public void setMapper​(org.kie.internal.runtime.manager.Mapper mapper)
      • setRegisterableItemsFactory

        public void setRegisterableItemsFactory​(org.kie.api.runtime.manager.RegisterableItemsFactory registerableItemsFactory)
      • getEmf

        public javax.persistence.EntityManagerFactory getEmf()
      • setEmf

        public void setEmf​(javax.persistence.EntityManagerFactory emf)
      • getClassLoader

        public ClassLoader getClassLoader()
        Specified by:
        getClassLoader in interface org.kie.api.runtime.manager.RuntimeEnvironment
      • setClassLoader

        public void setClassLoader​(ClassLoader classLoader)