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
MscManagedProcessApplication
service.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
MscManagedProcessApplication
service which means that it must be available when registering the service.This service depends on all
ProcessApplicationDeploymentService
instances 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
ProcessApplicationInfo
object and passes it to theMscManagedProcessApplication
service.- Author:
- Daniel Meyer
-
-
Field Summary
Fields Modifier and Type Field Description protected org.jboss.msc.value.InjectedValue<ProcessEngine>
defaultProcessEngineInjector
injector for the default process engineprotected 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.protected org.jboss.msc.value.InjectedValue<ProcessApplicationInterface>
noViewProcessApplication
protected org.jboss.msc.value.InjectedValue<org.jboss.as.ee.component.ComponentView>
paComponentViewInjector
protected org.jboss.modules.Module
paModule
protected org.jboss.msc.value.InjectedValue<BpmPlatformPlugins>
platformPluginsInjector
protected org.jboss.jandex.AnnotationInstance
postDeployDescription
protected org.jboss.jandex.AnnotationInstance
preUndeployDescription
protected ProcessApplicationInfoImpl
processApplicationInfo
protected 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()
ProcessApplicationStartService
getValue()
protected void
invokePostDeploy(ProcessApplicationInterface processApplication)
protected void
invokePreUndeploy(ProcessApplicationInterface processApplication)
protected void
notifyBpmPlatformPlugins(BpmPlatformPlugins value, ProcessApplicationInterface processApplication)
void
start(org.jboss.msc.service.StartContext context)
void
stop(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:
start
in interfaceorg.jboss.msc.Service
- Specified by:
start
in 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:
stop
in interfaceorg.jboss.msc.Service
- Specified by:
stop
in interfaceorg.jboss.msc.service.Service<ProcessApplicationStartService>
-
invokePostDeploy
protected void invokePostDeploy(ProcessApplicationInterface processApplication) throws java.lang.ClassNotFoundException, org.jboss.msc.service.StartException
- Throws:
java.lang.ClassNotFoundException
org.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:
getValue
in interfaceorg.jboss.msc.value.Value<ProcessApplicationStartService>
- Throws:
java.lang.IllegalStateException
java.lang.IllegalArgumentException
-
getDefaultProcessEngineInjector
public org.jboss.msc.value.InjectedValue<ProcessEngine> getDefaultProcessEngineInjector()
-
getPlatformPluginsInjector
public org.jboss.msc.value.InjectedValue<BpmPlatformPlugins> getPlatformPluginsInjector()
-
-