Class ProcessApplicationStartService
- java.lang.Object
-
- org.camunda.bpm.container.impl.jboss.service.ProcessApplicationStartService
-
- All Implemented Interfaces:
org.jboss.msc.Service,org.jboss.msc.service.Service<ProcessApplicationStartService>,org.jboss.msc.value.Value<ProcessApplicationStartService>
public class ProcessApplicationStartService extends java.lang.Object implements org.jboss.msc.service.Service<ProcessApplicationStartService>
This service is responsible for starting the
MscManagedProcessApplicationservice.We need this as an extra step since we need a declarative dependency on the ProcessApplicationComponent in order to call the getName() method on the ProcessApplication. The name of the process application is subsequently used for composing the name of the
MscManagedProcessApplicationservice which means that it must be available when registering the service.This service depends on all
ProcessApplicationDeploymentServiceinstances started for the process application. Thus, when this service is started, it is guaranteed that all process application deployments have completed successfully.This service creates the
ProcessApplicationInfoobject and passes it to theMscManagedProcessApplicationservice.- Author:
- Daniel Meyer
-
-
Field Summary
Fields Modifier and Type Field Description protected org.jboss.msc.value.InjectedValue<ProcessEngine>defaultProcessEngineInjectorinjector for the default process engineprotected java.util.Collection<org.jboss.msc.service.ServiceName>deploymentServiceNamesthe names of the deployment services we depend on; those must be added as declarative dependencies when the service is installed.protected org.jboss.msc.value.InjectedValue<ProcessApplicationInterface>noViewProcessApplicationprotected org.jboss.msc.value.InjectedValue<org.jboss.as.ee.component.ComponentView>paComponentViewInjectorprotected org.jboss.modules.ModulepaModuleprotected org.jboss.msc.value.InjectedValue<BpmPlatformPlugins>platformPluginsInjectorprotected org.jboss.jandex.AnnotationInstancepostDeployDescriptionprotected org.jboss.jandex.AnnotationInstancepreUndeployDescriptionprotected ProcessApplicationInfoImplprocessApplicationInfoprotected java.util.HashSet<ProcessEngine>referencedProcessEngines
-
Constructor Summary
Constructors Constructor Description ProcessApplicationStartService(java.util.Collection<org.jboss.msc.service.ServiceName> deploymentServiceNames, org.jboss.jandex.AnnotationInstance postDeployDescription, org.jboss.jandex.AnnotationInstance preUndeployDescription, org.jboss.modules.Module paModule)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.jboss.msc.value.InjectedValue<ProcessEngine>getDefaultProcessEngineInjector()protected java.lang.Object[]getInjections(java.lang.reflect.Method lifecycleMethod)org.jboss.msc.value.InjectedValue<ProcessApplicationInterface>getNoViewProcessApplication()protected java.lang.Class<?>getPaClass(org.jboss.jandex.AnnotationInstance annotation)org.jboss.msc.value.InjectedValue<org.jboss.as.ee.component.ComponentView>getPaComponentViewInjector()org.jboss.msc.value.InjectedValue<BpmPlatformPlugins>getPlatformPluginsInjector()ProcessApplicationStartServicegetValue()protected voidinvokePostDeploy(ProcessApplicationInterface processApplication)protected voidinvokePreUndeploy(ProcessApplicationInterface processApplication)protected voidnotifyBpmPlatformPlugins(BpmPlatformPlugins value, ProcessApplicationInterface processApplication)voidstart(org.jboss.msc.service.StartContext context)voidstop(org.jboss.msc.service.StopContext context)
-
-
-
Field Detail
-
deploymentServiceNames
protected final java.util.Collection<org.jboss.msc.service.ServiceName> deploymentServiceNames
the names of the deployment services we depend on; those must be added as declarative dependencies when the service is installed.
-
paComponentViewInjector
protected org.jboss.msc.value.InjectedValue<org.jboss.as.ee.component.ComponentView> paComponentViewInjector
-
noViewProcessApplication
protected org.jboss.msc.value.InjectedValue<ProcessApplicationInterface> noViewProcessApplication
-
defaultProcessEngineInjector
protected org.jboss.msc.value.InjectedValue<ProcessEngine> defaultProcessEngineInjector
injector for the default process engine
-
platformPluginsInjector
protected org.jboss.msc.value.InjectedValue<BpmPlatformPlugins> platformPluginsInjector
-
preUndeployDescription
protected org.jboss.jandex.AnnotationInstance preUndeployDescription
-
postDeployDescription
protected org.jboss.jandex.AnnotationInstance postDeployDescription
-
processApplicationInfo
protected ProcessApplicationInfoImpl processApplicationInfo
-
referencedProcessEngines
protected java.util.HashSet<ProcessEngine> referencedProcessEngines
-
paModule
protected org.jboss.modules.Module paModule
-
-
Constructor Detail
-
ProcessApplicationStartService
public ProcessApplicationStartService(java.util.Collection<org.jboss.msc.service.ServiceName> deploymentServiceNames, org.jboss.jandex.AnnotationInstance postDeployDescription, org.jboss.jandex.AnnotationInstance preUndeployDescription, org.jboss.modules.Module paModule)
-
-
Method Detail
-
start
public void start(org.jboss.msc.service.StartContext context) throws org.jboss.msc.service.StartException- Specified by:
startin interfaceorg.jboss.msc.Service- Specified by:
startin interfaceorg.jboss.msc.service.Service<ProcessApplicationStartService>- Throws:
org.jboss.msc.service.StartException
-
notifyBpmPlatformPlugins
protected void notifyBpmPlatformPlugins(BpmPlatformPlugins value, ProcessApplicationInterface processApplication)
-
stop
public void stop(org.jboss.msc.service.StopContext context)
- Specified by:
stopin interfaceorg.jboss.msc.Service- Specified by:
stopin interfaceorg.jboss.msc.service.Service<ProcessApplicationStartService>
-
invokePostDeploy
protected void invokePostDeploy(ProcessApplicationInterface processApplication) throws java.lang.ClassNotFoundException, org.jboss.msc.service.StartException
- Throws:
java.lang.ClassNotFoundExceptionorg.jboss.msc.service.StartException
-
invokePreUndeploy
protected void invokePreUndeploy(ProcessApplicationInterface processApplication) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
getInjections
protected java.lang.Object[] getInjections(java.lang.reflect.Method lifecycleMethod)
-
getPaClass
protected java.lang.Class<?> getPaClass(org.jboss.jandex.AnnotationInstance annotation) throws java.lang.ClassNotFoundException- Throws:
java.lang.ClassNotFoundException
-
getNoViewProcessApplication
public org.jboss.msc.value.InjectedValue<ProcessApplicationInterface> getNoViewProcessApplication()
-
getPaComponentViewInjector
public org.jboss.msc.value.InjectedValue<org.jboss.as.ee.component.ComponentView> getPaComponentViewInjector()
-
getValue
public ProcessApplicationStartService getValue() throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
- Specified by:
getValuein interfaceorg.jboss.msc.value.Value<ProcessApplicationStartService>- Throws:
java.lang.IllegalStateExceptionjava.lang.IllegalArgumentException
-
getDefaultProcessEngineInjector
public org.jboss.msc.value.InjectedValue<ProcessEngine> getDefaultProcessEngineInjector()
-
getPlatformPluginsInjector
public org.jboss.msc.value.InjectedValue<BpmPlatformPlugins> getPlatformPluginsInjector()
-
-