KIE API 6.2.0.Beta1

org.kie.api.runtime.manager
Interface RuntimeManager


public interface RuntimeManager

RuntimeManager manages RuntimeEngines that are esentially build with KieSession and TaskService to deliver executable environments for processes and user tasks.
Moreover RuntimeManager ensures that all components are configured and bootstrapped as soon as manager is instantiated to ensure its fully featured functionality right from the start. That includes:

RuntimeManager shall always be closed whenever it's not needed any more to free up resources it allocated.
RuntimeManagers are identified by unique identifiers and thus there cannot be two RuntimeManagers with the same id active at the same time in the same system.
RuntimeManager implements runtime strategy that provides certain management capabilities to reduce manual work needed to control ksession behavior. Which mainly covers when to create, dispose and when to use which ksession. Currently there are three predefined strategies:


Method Summary
 void close()
          Closes RuntimeManager and releases it's resources.
 void disposeRuntimeEngine(RuntimeEngine runtime)
          Disposes RuntimeEngine and notifies all listeners about that fact.
 String getIdentifier()
          Unique identifier of the RuntimeManager
 RuntimeEngine getRuntimeEngine(Context<?> context)
          Returns RuntimeEngine instance that is fully initialized: KiseSession is created or loaded depending on the strategy TaskService is initialized and attached to ksession (via listener) WorkItemHandlers are initialized and registered on ksession EventListeners (process, agenda, working memory) are initialized and added to ksession
 

Method Detail

getRuntimeEngine

RuntimeEngine getRuntimeEngine(Context<?> context)
Returns RuntimeEngine instance that is fully initialized:

Parameters:
context - the concrete implementation of the context that is supported by given RuntimeManager
Returns:
instance of the RuntimeEngine

getIdentifier

String getIdentifier()
Unique identifier of the RuntimeManager

Returns:

disposeRuntimeEngine

void disposeRuntimeEngine(RuntimeEngine runtime)
Disposes RuntimeEngine and notifies all listeners about that fact. This method should always be used to dispose RuntimeEngine that is not needed anymore.
ksession.dispose() shall never be used with RuntimeManager as it will break the internal mechanisms of the manager responsible for clear and efficient disposal.
Dispose is not needed if RuntimeEngine was obtained within active JTA transaction, this means that when getRuntimeEngine method was invoked during active JTA transaction then dispose of the runtime engine will happen automatically on transaction completion.

Parameters:
runtime -

close

void close()
Closes RuntimeManager and releases it's resources. Shall always be called when runtime manager is not needed any more. Otherwise it will still be active and operational.


KIE API 6.2.0.Beta1

Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.