Beispiel #1
0
        // runtime container delegate implementation ///////////////////////////////////////////////

        public virtual void registerProcessEngine(ProcessEngine processEngine)
        {
            ensureNotNull("Cannot register process engine in Jmx Runtime Container", "process engine", processEngine);

            string processEngineName = processEngine.Name;

            // build and start the service.
            JmxManagedProcessEngine managedProcessEngine = new JmxManagedProcessEngine(processEngine);

            serviceContainer.startService(ServiceTypes.PROCESS_ENGINE, processEngineName, managedProcessEngine);
        }
Beispiel #2
0
        public override void performOperationStep(DeploymentOperation operationContext)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.container.impl.spi.PlatformServiceContainer serviceContainer = operationContext.getServiceContainer();
            PlatformServiceContainer serviceContainer = operationContext.ServiceContainer;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.camunda.bpm.application.AbstractProcessApplication processApplication = operationContext.getAttachment(PROCESS_APPLICATION);
            AbstractProcessApplication processApplication = operationContext.getAttachment(PROCESS_APPLICATION);

            ClassLoader classLoader = null;

            if (processApplication != null)
            {
                classLoader = processApplication.ProcessApplicationClassloader;
            }

            string configurationClassName = processEngineXml.ConfigurationClass;

            if (string.ReferenceEquals(configurationClassName, null) || configurationClassName.Length == 0)
            {
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
                configurationClassName = typeof(StandaloneProcessEngineConfiguration).FullName;
            }

            // create & instantiate configuration class
            Type configurationClass = loadClass(configurationClassName, classLoader, typeof(ProcessEngineConfigurationImpl));
            ProcessEngineConfigurationImpl configuration = createInstance(configurationClass);

            // set UUid generator
            // TODO: move this to configuration and use as default?
            ProcessEngineConfigurationImpl configurationImpl = configuration;

            configurationImpl.IdGenerator = new StrongUuidGenerator();

            // set configuration values
            string name = processEngineXml.Name;

            configuration.ProcessEngineName = name;

            string datasourceJndiName = processEngineXml.Datasource;

            configuration.DataSourceJndiName = datasourceJndiName;

            // apply properties
            IDictionary <string, string> properties = processEngineXml.Properties;

            setJobExecutorActivate(configuration, properties);
            PropertyHelper.applyProperties(configuration, properties);

            // instantiate plugins:
            configurePlugins(configuration, processEngineXml, classLoader);

            if (!string.ReferenceEquals(processEngineXml.JobAcquisitionName, null) && processEngineXml.JobAcquisitionName.Length > 0)
            {
                JobExecutor jobExecutor = getJobExecutorService(serviceContainer);
                ensureNotNull("Cannot find referenced job executor with name '" + processEngineXml.JobAcquisitionName + "'", "jobExecutor", jobExecutor);

                // set JobExecutor on process engine
                configurationImpl.JobExecutor = jobExecutor;
            }

            // start the process engine inside the container.
            JmxManagedProcessEngine managedProcessEngineService = createProcessEngineControllerInstance(configuration);

            serviceContainer.startService(ServiceTypes.PROCESS_ENGINE, configuration.ProcessEngineName, managedProcessEngineService);
        }