Package org.jbpm.kie.services.impl
Class KModuleDeploymentService
- java.lang.Object
-
- org.jbpm.kie.services.impl.AbstractDeploymentService
-
- org.jbpm.kie.services.impl.KModuleDeploymentService
-
- All Implemented Interfaces:
DeploymentService,ListenerSupport
- Direct Known Subclasses:
DeploymentServiceCDIImpl,DeploymentServiceEJBImpl
public class KModuleDeploymentService extends AbstractDeploymentService
-
-
Field Summary
Fields Modifier and Type Field Description protected DefinitionServicebpmn2Serviceprotected XPathExpressioncaseIdXPathExpressionprotected org.kie.api.executor.ExecutorServiceexecutorServiceprotected FormManagerServiceformManagerServiceprotected static org.slf4j.Loggerloggerprotected DeploymentDescriptorMergermergerprotected XPathExpressionprocessIdXPathExpression-
Fields inherited from class org.jbpm.kie.services.impl.AbstractDeploymentService
deploymentsMap, emf, identityProvider, listeners, managerFactory, runtimeDataService
-
-
Constructor Summary
Constructors Constructor Description KModuleDeploymentService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate(String deploymentId)Activates given deployment by making sure it will be available for execution.protected voidaddClassToDeployedUnit(Class deploymentClass, DeployedUnitImpl deployedUnit)protected org.kie.api.runtime.manager.RuntimeEnvironmentBuilderboostrapRuntimeEnvironmentBuilder(KModuleDeploymentUnit deploymentUnit, DeployedUnit deployedUnit, org.kie.api.runtime.KieContainer kieContainer, org.kie.internal.runtime.conf.MergeMode mode)This creates and fills aRuntimeEnvironmentBuilderinstance, which is later used when creating services.protected Map<String,Object>buildContextParameters(org.kie.api.runtime.KieContainer kieContainer)voiddeactivate(String deploymentId)Deactivates given deployment by making it only available for already running instances.voiddeploy(DeploymentUnit unit)Performs deployment operation of givenunit.protected StringgetCaseId(String processSource)protected ObjectgetInstanceFromModel(org.kie.internal.runtime.conf.ObjectModel model, org.kie.api.runtime.KieContainer kieContainer, Map<String,Object> contaxtParams)protected StringgetProcessId(String processSource)protected org.kie.api.runtime.manager.RegisterableItemsFactorygetRegisterableItemsFactory(AuditEventBuilder auditLoggerBuilder, org.kie.api.runtime.KieContainer kieContainer, KModuleDeploymentUnit unit)voidonInit()protected voidprocessClassloader(org.kie.api.runtime.KieContainer kieContainer, DeployedUnitImpl deployedUnit)This processes the deployment dependencies, which are made available by theKieContainerClassLoader.protected voidprocessResources(org.drools.compiler.kie.builder.impl.InternalKieModule module, Collection<String> files, org.kie.api.runtime.KieContainer kieContainer, DeploymentUnit unit, DeployedUnitImpl deployedUnit, org.kie.api.builder.ReleaseId releaseId, Map<String,ProcessDescriptor> processes)Goes through all files in a deployment, and processes them so that they are then ready for use after deployment.voidsetBpmn2Service(DefinitionService bpmn2Service)voidsetExecutorService(org.kie.api.executor.ExecutorService executorService)voidsetFormManagerService(FormManagerService formManagerService)voidsetMerger(DeploymentDescriptorMerger merger)voidundeploy(DeploymentUnit unit, Function<DeploymentUnit,Boolean> beforeUndeploy)Performs undeployment operation of givenunitaborting existing process instances if needed.-
Methods inherited from class org.jbpm.kie.services.impl.AbstractDeploymentService
addListener, commonDeploy, getDeployedUnit, getDeployedUnits, getDeploymentsMap, getEmf, getListeners, getManagerFactory, getRuntimeDataService, getRuntimeManager, isDeployed, notifyOnActivate, notifyOnDeactivate, notifyOnDeploy, notifyOnUnDeploy, removeListener, setEmf, setIdentityProvider, setManagerFactory, setRuntimeDataService, setupAuditLogger, shutdown, undeploy
-
-
-
-
Field Detail
-
logger
protected static org.slf4j.Logger logger
-
bpmn2Service
protected DefinitionService bpmn2Service
-
merger
protected DeploymentDescriptorMerger merger
-
formManagerService
protected FormManagerService formManagerService
-
executorService
protected org.kie.api.executor.ExecutorService executorService
-
processIdXPathExpression
protected XPathExpression processIdXPathExpression
-
caseIdXPathExpression
protected XPathExpression caseIdXPathExpression
-
-
Method Detail
-
onInit
public void onInit()
-
deploy
public void deploy(DeploymentUnit unit)
Description copied from interface:DeploymentServicePerforms deployment operation of givenunit.- Specified by:
deployin interfaceDeploymentService- Overrides:
deployin classAbstractDeploymentService- Parameters:
unit- deployment unit to be deployed to runtime
-
getRegisterableItemsFactory
protected org.kie.api.runtime.manager.RegisterableItemsFactory getRegisterableItemsFactory(AuditEventBuilder auditLoggerBuilder, org.kie.api.runtime.KieContainer kieContainer, KModuleDeploymentUnit unit)
-
undeploy
public void undeploy(DeploymentUnit unit, Function<DeploymentUnit,Boolean> beforeUndeploy)
Description copied from interface:DeploymentServicePerforms undeployment operation of givenunitaborting existing process instances if needed.- Specified by:
undeployin interfaceDeploymentService- Overrides:
undeployin classAbstractDeploymentService- Parameters:
unit- deployment unit to be undeployed from runtimebeforeUndeploy- a function to run custom actions before undeploying a givenDeploymentUnit. It should return if the unit can be deployed or not determining if the deployment can continue.
-
boostrapRuntimeEnvironmentBuilder
protected org.kie.api.runtime.manager.RuntimeEnvironmentBuilder boostrapRuntimeEnvironmentBuilder(KModuleDeploymentUnit deploymentUnit, DeployedUnit deployedUnit, org.kie.api.runtime.KieContainer kieContainer, org.kie.internal.runtime.conf.MergeMode mode)
This creates and fills aRuntimeEnvironmentBuilderinstance, which is later used when creating services. A lot of the logic here is used to process the information in theDeploymentDescriptorinstance, which is part of theDeploymentUnit.- Parameters:
deploymentUnit- TheKModuleDeploymentUnit, which is filled by the methoddeployedUnit- TheDeployedUnit, which is also filled by the methodkieContainer- TheKieContainer, which contains information needed to fill the above two argumentsmode- TheMergeModeused to resolve conflicts in theDeploymentDescriptor.- Returns:
- A
RuntimeEnvironmentBuilderinstance ready for use
-
buildContextParameters
protected Map<String,Object> buildContextParameters(org.kie.api.runtime.KieContainer kieContainer)
-
getInstanceFromModel
protected Object getInstanceFromModel(org.kie.internal.runtime.conf.ObjectModel model, org.kie.api.runtime.KieContainer kieContainer, Map<String,Object> contaxtParams)
-
processResources
protected void processResources(org.drools.compiler.kie.builder.impl.InternalKieModule module, Collection<String> files, org.kie.api.runtime.KieContainer kieContainer, DeploymentUnit unit, DeployedUnitImpl deployedUnit, org.kie.api.builder.ReleaseId releaseId, Map<String,ProcessDescriptor> processes)Goes through all files in a deployment, and processes them so that they are then ready for use after deployment.- Parameters:
module- TheInternalKieModule, necessary to get form contentfiles- TheListof file (names) to process.kieContainer- TheKieContainer, necesary in order to load classesdeploymentUnit- TheDeploymentUnit, necessary to get the deployment iddeployedUnit- TheDeployedUnit, which contains the results of actions here
-
addClassToDeployedUnit
protected void addClassToDeployedUnit(Class deploymentClass, DeployedUnitImpl deployedUnit)
-
processClassloader
protected void processClassloader(org.kie.api.runtime.KieContainer kieContainer, DeployedUnitImpl deployedUnit)This processes the deployment dependencies, which are made available by theKieContainerClassLoader.- Parameters:
kieContainer- TheKieContainer, used to get theClassLoaderdeployedUnit- TheDeployedUnitImpl, used to store the classes loaded
-
setBpmn2Service
public void setBpmn2Service(DefinitionService bpmn2Service)
-
setMerger
public void setMerger(DeploymentDescriptorMerger merger)
-
setFormManagerService
public void setFormManagerService(FormManagerService formManagerService)
-
setExecutorService
public void setExecutorService(org.kie.api.executor.ExecutorService executorService)
-
activate
public void activate(String deploymentId)
Description copied from interface:DeploymentServiceActivates given deployment by making sure it will be available for execution.
-
deactivate
public void deactivate(String deploymentId)
Description copied from interface:DeploymentServiceDeactivates given deployment by making it only available for already running instances.
-
-