Class InjectableRegisterableItemsFactory
- java.lang.Object
-
- org.jbpm.runtime.manager.impl.SimpleRegisterableItemsFactory
-
- org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory
-
- org.jbpm.services.cdi.impl.manager.InjectableRegisterableItemsFactory
-
- All Implemented Interfaces:
org.kie.api.runtime.manager.RegisterableItemsFactory,org.kie.internal.runtime.manager.InternalRegisterableItemsFactory
public class InjectableRegisterableItemsFactory extends DefaultRegisterableItemsFactory
Implementation ofRegisterableItemsFactorydedicated to CDI environments that allows us to get injections of following components:ExternalTaskEventListener- required beanWorkItemHandlerProducer- optional bean (0 or more)EventListenerProducer- optional bean (0 or more)> EventListenerProducer- optional bean (0 or more)> EventListenerProducer- optional bean (0 or more)> RuntimeFinder- optional required only when single CDI bean is going to manage manyRuntimeManagerinstances
AbstractAuditLoggercan be set after the bean has been injected if the default is not sufficient. Although this factory extendsDefaultRegisterableItemsFactory, it will not use any of the listeners and handlers that come from the super class. It relies mainly on CDI injections where the only exception from this rule isAbstractAuditLogger
Even though this is a fully qualified bean for injection, it provides helper methods to build its instances usingBeanManagerin case more independent instances are required.- getFactory(BeanManager, AbstractAuditLogger)
- getFactory(BeanManager, AbstractAuditLogger, KieContainer, String)
-
-
Field Summary
-
Fields inherited from class org.jbpm.runtime.manager.impl.SimpleRegisterableItemsFactory
runtimeManager
-
-
Constructor Summary
Constructors Constructor Description InjectableRegisterableItemsFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.kie.api.event.rule.AgendaEventListener>getAgendaEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)AbstractAuditLoggergetAuditlogger()protected AbstractAuditLoggergetAuditLoggerInstance(org.kie.api.runtime.manager.RuntimeEngine engine)Provides AuditLogger implementation, JPA or JMS.static org.kie.api.runtime.manager.RegisterableItemsFactorygetFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger)Allows us to create an instance of this class dynamically viaBeanManager.static org.kie.api.runtime.manager.RegisterableItemsFactorygetFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger, org.kie.api.runtime.KieContainer kieContainer, String ksessionName)Allows us to create instance of this class dynamically viaBeanManager.static org.kie.api.runtime.manager.RegisterableItemsFactorygetFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder)Allows to create instance of this class dynamically viaBeanManager.static org.kie.api.runtime.manager.RegisterableItemsFactorygetFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder, org.kie.api.runtime.KieContainer kieContainer, String ksessionName)Allows to create instance of this class dynamically viaBeanManager.Map<String,Object>getGlobals(org.kie.api.runtime.manager.RuntimeEngine runtime)protected static <T> TgetInstanceByType(javax.enterprise.inject.spi.BeanManager manager, Class<T> type, Annotation... bindings)org.kie.api.runtime.KieContainergetKieContainer()StringgetKsessionName()List<org.kie.api.event.process.ProcessEventListener>getProcessEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)List<org.kie.api.event.rule.RuleRuntimeEventListener>getRuleRuntimeEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)List<org.kie.api.task.TaskLifeCycleEventListener>getTaskListeners()Map<String,org.kie.api.runtime.process.WorkItemHandler>getWorkItemHandlers(org.kie.api.runtime.manager.RuntimeEngine runtime)voidsetAuditlogger(AbstractAuditLogger auditlogger)voidsetKieContainer(org.kie.api.runtime.KieContainer kieContainer)voidsetKsessionName(String ksessionName)-
Methods inherited from class org.jbpm.runtime.manager.impl.DefaultRegisterableItemsFactory
getAuditBuilder, getAuditBuilder, getEventListenerFromDescriptor, getGlobalsFromDescriptor, getHTWorkItemHandler, getInstanceFromModel, getParametersMap, getTaskListenersFromDescriptor, getWorkItemHandlersFromDescriptor, loadJMSProperties, setAuditBuilder
-
Methods inherited from class org.jbpm.runtime.manager.impl.SimpleRegisterableItemsFactory
addAgendaListener, addGlobal, addProcessListener, addProcessListener, addTaskListener, addWorkingMemoryListener, addWorkItemHandler, createInstance, getRuntimeManager, setRuntimeManager
-
-
-
-
Method Detail
-
getWorkItemHandlers
public Map<String,org.kie.api.runtime.process.WorkItemHandler> getWorkItemHandlers(org.kie.api.runtime.manager.RuntimeEngine runtime)
- Specified by:
getWorkItemHandlersin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getWorkItemHandlersin classDefaultRegisterableItemsFactory
-
getProcessEventListeners
public List<org.kie.api.event.process.ProcessEventListener> getProcessEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)
- Specified by:
getProcessEventListenersin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getProcessEventListenersin classDefaultRegisterableItemsFactory
-
getRuleRuntimeEventListeners
public List<org.kie.api.event.rule.RuleRuntimeEventListener> getRuleRuntimeEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)
- Specified by:
getRuleRuntimeEventListenersin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getRuleRuntimeEventListenersin classDefaultRegisterableItemsFactory
-
getAgendaEventListeners
public List<org.kie.api.event.rule.AgendaEventListener> getAgendaEventListeners(org.kie.api.runtime.manager.RuntimeEngine runtime)
- Specified by:
getAgendaEventListenersin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getAgendaEventListenersin classDefaultRegisterableItemsFactory
-
getTaskListeners
public List<org.kie.api.task.TaskLifeCycleEventListener> getTaskListeners()
- Specified by:
getTaskListenersin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getTaskListenersin classDefaultRegisterableItemsFactory
-
getGlobals
public Map<String,Object> getGlobals(org.kie.api.runtime.manager.RuntimeEngine runtime)
- Specified by:
getGlobalsin interfaceorg.kie.api.runtime.manager.RegisterableItemsFactory- Overrides:
getGlobalsin classDefaultRegisterableItemsFactory
-
getFactory
public static org.kie.api.runtime.manager.RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger)Allows us to create an instance of this class dynamically viaBeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.- Parameters:
beanManager- - bean manager instance of the containerauditlogger- -AbstractAuditLoggerlogger instance to be used, might be null- Returns:
- new instance of the factory
-
getFactory
public static org.kie.api.runtime.manager.RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AbstractAuditLogger auditlogger, org.kie.api.runtime.KieContainer kieContainer, String ksessionName)Allows us to create instance of this class dynamically viaBeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.- Parameters:
beanManager- - bean manager instance of the containerauditlogger- -AbstractAuditLoggerlogger instance to be used, might be nullkieContainer- -KieContainerthat the factory is built forksessionName- - name of the ksession defined in kmodule to be used, if not given default ksession from kmodule will be used.- Returns:
-
getFactory
public static org.kie.api.runtime.manager.RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder)Allows to create instance of this class dynamically viaBeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.- Parameters:
beanManager- - bean manager instance of the containereventBuilder- -AuditEventBuilderlogger builder instance to be used, might be null- Returns:
- new instance of the factory
-
getFactory
public static org.kie.api.runtime.manager.RegisterableItemsFactory getFactory(javax.enterprise.inject.spi.BeanManager beanManager, AuditEventBuilder eventBuilder, org.kie.api.runtime.KieContainer kieContainer, String ksessionName)Allows to create instance of this class dynamically viaBeanManager. This is useful in case multiple independent instances are required on runtime and that need cannot be satisfied with regular CDI practices.- Parameters:
beanManager- - bean manager instance of the containereventBuilder- -AbstractAuditLoggerlogger builder instance to be used, might be nullkieContainer- -KieContainerthat the factory is built forksessionName- - name of the ksession defined in kmodule to be used, if not given default ksession from kmodule will be used.- Returns:
-
getInstanceByType
protected static <T> T getInstanceByType(javax.enterprise.inject.spi.BeanManager manager, Class<T> type, Annotation... bindings)
-
getAuditlogger
public AbstractAuditLogger getAuditlogger()
-
setAuditlogger
public void setAuditlogger(AbstractAuditLogger auditlogger)
-
getKieContainer
public org.kie.api.runtime.KieContainer getKieContainer()
-
setKieContainer
public void setKieContainer(org.kie.api.runtime.KieContainer kieContainer)
-
getKsessionName
public String getKsessionName()
-
setKsessionName
public void setKsessionName(String ksessionName)
-
getAuditLoggerInstance
protected AbstractAuditLogger getAuditLoggerInstance(org.kie.api.runtime.manager.RuntimeEngine engine)
Provides AuditLogger implementation, JPA or JMS. JPA is the default one and JMS requires to have configuration file (.properties) to be available on classpath under 'jbpm.audit.jms.properties' name. This file must have following properties defined:- jbpm.audit.jms.connection.factory.jndi - JNDI name of the connection factory to look up - type String
- jbpm.audit.jms.queue.jndi - JNDI name of the queue to look up - type String
- Returns:
- instance of the audit logger
-
-