org.springframework.boot.context.properties.source.MapConfigurationPropertySource#org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration源码实例Demo

下面列出了org.springframework.boot.context.properties.source.MapConfigurationPropertySource#org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  final DatabaseProperty database = camundaBpmProperties.getDatabase();

  configuration.setTransactionManager(transactionManager);

  if (camundaDataSource == null) {
    configuration.setDataSource(dataSource);
  } else {
    configuration.setDataSource(camundaDataSource);
  }

  configuration.setDatabaseType(database.getType());
  configuration.setDatabaseSchemaUpdate(database.getSchemaUpdate());

  if (!StringUtils.isEmpty(database.getTablePrefix())) {
    configuration.setDatabaseTablePrefix(database.getTablePrefix());
  }

  if(!StringUtils.isEmpty(database.getSchemaName())) {
    configuration.setDatabaseSchema(database.getSchemaName());
  }

  configuration.setJdbcBatchProcessing(database.isJdbcBatchProcessing());
}
 
private void setProcessEngineName(SpringProcessEngineConfiguration configuration) {
  String processEngineName = StringUtils.trimAllWhitespace(camundaBpmProperties.getProcessEngineName());
  if (!StringUtils.isEmpty(processEngineName) && !processEngineName.contains("-")) {

    if (camundaBpmProperties.getGenerateUniqueProcessEngineName()) {
      if (!processEngineName.equals(ProcessEngines.NAME_DEFAULT)) {
        throw new RuntimeException(String.format("A unique processEngineName cannot be generated "
          + "if a custom processEngineName is already set: %s", processEngineName));
      }
      processEngineName = CamundaBpmProperties.getUniqueName(camundaBpmProperties.UNIQUE_ENGINE_NAME_PREFIX);
    }

    configuration.setProcessEngineName(processEngineName);
  } else {
    logger.warn("Ignoring invalid processEngineName='{}' - must not be null, blank or contain hyphen", camundaBpmProperties.getProcessEngineName());
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
  GenericProperties genericProperties = camundaBpmProperties.getGenericProperties();
  final Map<String, Object> properties = genericProperties.getProperties();

  if (!CollectionUtils.isEmpty(properties)) {
    ConfigurationPropertySource source = new MapConfigurationPropertySource(properties);
    Binder binder = new Binder(source);
    try {
      if (genericProperties.isIgnoreUnknownFields()) {
        binder.bind(ConfigurationPropertyName.EMPTY, Bindable.ofInstance(springProcessEngineConfiguration));
      } else {
        binder.bind(ConfigurationPropertyName.EMPTY, Bindable.ofInstance(springProcessEngineConfiguration), new NoUnboundElementsBindHandler(BindHandler.DEFAULT));
      }
    } catch (Exception e) {
      throw LOG.exceptionDuringBinding(e.getMessage());
    }
    logger.debug("properties bound to configuration: {}", genericProperties);
  }
}
 
@Bean
public ProcessEngineConfigurationImpl processEngineConfiguration() throws Exception {

  SpringProcessWithCoverageEngineConfiguration config = new SpringProcessWithCoverageEngineConfiguration();

  
  try {
    Method setApplicationContext = SpringProcessEngineConfiguration.class.getDeclaredMethod("setApplicationContext", ApplicationContext.class);
    if (setApplicationContext != null) {
      setApplicationContext.invoke(config, applicationContext);
    }
  } catch (NoSuchMethodException e) {
    // expected for Camunda < 7.8.0
  }
  config.setExpressionManager(expressionManager());
  config.setTransactionManager(transactionManager());
  config.setDataSource(dataSource());
  config.setDatabaseSchemaUpdate("true");
  config.setHistory(ProcessEngineConfiguration.HISTORY_FULL);
  config.setJobExecutorActivate(false);
  config.init();
  return config;

}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  final DatabaseProperty database = camundaBpmProperties.getDatabase();

  configuration.setTransactionManager(transactionManager);

  if (camundaDataSource == null) {
    configuration.setDataSource(dataSource);
  } else {
    configuration.setDataSource(camundaDataSource);
  }

  configuration.setDatabaseType(database.getType());
  configuration.setDatabaseSchemaUpdate(database.getSchemaUpdate());

  if (!StringUtils.isEmpty(database.getTablePrefix())) {
    configuration.setDatabaseTablePrefix(database.getTablePrefix());
  }

  if(!StringUtils.isEmpty(database.getSchemaName())) {
    configuration.setDatabaseSchema(database.getSchemaName());
  }

  configuration.setJdbcBatchProcessing(database.isJdbcBatchProcessing());
}
 
private void setProcessEngineName(SpringProcessEngineConfiguration configuration) {
  String processEngineName = StringUtils.trimAllWhitespace(camundaBpmProperties.getProcessEngineName());
  if (!StringUtils.isEmpty(processEngineName) && !processEngineName.contains("-")) {

    if (camundaBpmProperties.getGenerateUniqueProcessEngineName()) {
      if (!processEngineName.equals(ProcessEngines.NAME_DEFAULT)) {
        throw new RuntimeException(String.format("A unique processEngineName cannot be generated "
          + "if a custom processEngineName is already set: %s", processEngineName));
      }
      processEngineName = CamundaBpmProperties.getUniqueName(camundaBpmProperties.UNIQUE_ENGINE_NAME_PREFIX);
    }

    configuration.setProcessEngineName(processEngineName);
  } else {
    logger.warn("Ignoring invalid processEngineName='{}' - must not be null, blank or contain hyphen", camundaBpmProperties.getProcessEngineName());
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
  GenericProperties genericProperties = camundaBpmProperties.getGenericProperties();
  final Map<String, Object> properties = genericProperties.getProperties();

  if (!CollectionUtils.isEmpty(properties)) {
    ConfigurationPropertySource source = new MapConfigurationPropertySource(properties);
    Binder binder = new Binder(source);
    try {
      if (genericProperties.isIgnoreUnknownFields()) {
        binder.bind(ConfigurationPropertyName.EMPTY, Bindable.ofInstance(springProcessEngineConfiguration));
      } else {
        binder.bind(ConfigurationPropertyName.EMPTY, Bindable.ofInstance(springProcessEngineConfiguration), new NoUnboundElementsBindHandler(BindHandler.DEFAULT));
      }
    } catch (Exception e) {
      throw LOG.exceptionDuringBinding(e.getMessage());
    }
    logger.debug("properties bound to configuration: {}", genericProperties);
  }
}
 
源代码8 项目: wecube-platform   文件: CustomBpmConfig.java
@Bean
@ConditionalOnMissingBean(ProcessEngineConfigurationImpl.class)
public ProcessEngineConfigurationImpl processEngineConfigurationImpl(
        List<ProcessEnginePlugin> processEnginePlugins) {

    log.info("configure process engine configuration impl,class={}",
            CustomSpringProcessEngineConfiguration.class.getName());
    final SpringProcessEngineConfiguration configuration = CamundaSpringBootUtil
            .initCustomFields(new CustomSpringProcessEngineConfiguration());
    configuration.getProcessEnginePlugins().add(new CompositeProcessEnginePlugin(processEnginePlugins));
    return configuration;
}
 
源代码9 项目: wecube-platform   文件: CustomBpmConfig.java
@Override
public void preInit(SpringProcessEngineConfiguration processEngineConfiguration) {
    super.preInit(processEngineConfiguration);

    List<BpmnParseListener> preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners();
    if (preParseListeners == null) {
        preParseListeners = new ArrayList<BpmnParseListener>();
        processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
    }

    log.info("adding LocalBpmnParseListener:{}", processStartAndEndEventInitializer.getClass().getName());

    preParseListeners.add(processStartAndEndEventInitializer);
}
 
@Bean
@ConditionalOnMissingBean(ProcessEngineConfigurationImpl.class)
public ProcessEngineConfigurationImpl processEngineConfigurationImpl(List<ProcessEnginePlugin> processEnginePlugins) {
  final SpringProcessEngineConfiguration configuration = CamundaSpringBootUtil.springProcessEngineConfiguration();
  configuration.getProcessEnginePlugins().add(new CompositeProcessEnginePlugin(processEnginePlugins));
  return configuration;
}
 
protected void configureJobExecutor(SpringProcessEngineConfiguration configuration) {
  // note: the job executor will be activated in
  // org.camunda.bpm.spring.boot.starter.runlistener.JobExecutorRunListener
  configuration.setJobExecutorActivate(false);
  configuration.setJobExecutorDeploymentAware(camundaBpmProperties.getJobExecution().isDeploymentAware());
  configuration.setJobExecutor(jobExecutor);

}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  String historyLevel = camundaBpmProperties.getHistoryLevel();
  if (historyLevel != null) {
    configuration.setHistory(historyLevel);
  }
  if (historyEventHandler != null) {
    logger.debug("registered history event handler: {}", historyEventHandler.getClass());
    configuration.getCustomHistoryEventHandlers().add(historyEventHandler);
  }
}
 
@Override
public void preInit(final SpringProcessEngineConfiguration configuration) {
  final AuthorizationProperty authorization = camundaBpmProperties.getAuthorization();
  configuration.setAuthorizationEnabled(authorization.isEnabled());
  configuration.setAuthorizationEnabledForCustomCode(authorization.isEnabledForCustomCode());
  configuration.setAuthorizationCheckRevokes(authorization.getAuthorizationCheckRevokes());

  configuration.setTenantCheckEnabled(authorization.isTenantCheckEnabled());
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  if (camundaBpmProperties.isAutoDeploymentEnabled()) {
    final Set<Resource> resources = getDeploymentResources();
    configuration.setDeploymentResources(resources.toArray(new Resource[resources.size()]));
    LOG.autoDeployResources(resources);
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  final String determineHistoryLevel = historyLevelDeterminator.determineHistoryLevel();
  if (!StringUtils.isEmpty(determineHistoryLevel)) {
    configuration.setHistory(determineHistoryLevel);
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {

  if (configuration.getCustomPostBPMNParseListeners() == null) {
    configuration.setCustomPostBPMNParseListeners(new ArrayList<>());
  }

  configuration.getCustomPostBPMNParseListeners().add(new DefaultFailedJobParseListener());
  configuration.setFailedJobCommandFactory(new DefaultFailedJobCommandFactory());
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  setProcessEngineName(configuration);
  setDefaultSerializationFormat(configuration);
  setIdGenerator(configuration);
  setJobExecutorAcquireByPriority(configuration);
  setDefaultNumberOfRetries(configuration);
}
 
private void setDefaultSerializationFormat(SpringProcessEngineConfiguration configuration) {
  String defaultSerializationFormat = camundaBpmProperties.getDefaultSerializationFormat();
  if (StringUtils.hasText(defaultSerializationFormat)) {
    configuration.setDefaultSerializationFormat(defaultSerializationFormat);
  } else {
    logger.warn("Ignoring invalid defaultSerializationFormat='{}'", defaultSerializationFormat);
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  final JpaProperty jpa = camundaBpmProperties.getJpa();

  configuration.setJpaPersistenceUnitName(jpa.getPersistenceUnitName());
  if (jpaEntityManagerFactory != null) {
    configuration.setJpaEntityManagerFactory(jpaEntityManagerFactory);
  }
  configuration.setJpaCloseEntityManager(jpa.isCloseEntityManager());
  configuration.setJpaHandleTransaction(jpa.isHandleTransaction());
}
 
@Override
public void preInit(SpringProcessEngineConfiguration processEngineConfiguration) {

  if (!property.isTask() && !property.isExecution() && !property.isHistory()) {
    logger.info("EVENTING-002: Camunda Spring Boot Eventing Plugin is found, but disabled via property.");
    return;
  }

  if (property.isTask() || property.isExecution()) {

    logger.info("EVENTING-001: Initialized Camunda Spring Boot Eventing Engine Plugin.");
    if (property.isTask()) {
      logger.info("EVENTING-003: Task events will be published as Spring Events.");
    } else {
      logger.info("EVENTING-004: Task eventing is disabled via property.");
    }

    if (property.isExecution()) {
      logger.info("EVENTING-005: Execution events will be published as Spring Events.");
    } else {
      logger.info("EVENTING-006: Execution eventing is disabled via property.");
    }
    // register parse listener
    processEngineConfiguration.getCustomPostBPMNParseListeners().add(new PublishDelegateParseListener(this.publisher, property));
  }

  if (property.isHistory()) {
    logger.info("EVENTING-007: History events will be published as Spring events.");
    // register composite DB event handler.
    processEngineConfiguration.getCustomHistoryEventHandlers()
        .add(new PublishHistoryEventHandler(this.publisher));
  } else {
    logger.info("EVENTING-008: History eventing is disabled via property.");
  }

}
 
@Before
public void init() {
  processEngineConfiguration = new SpringProcessEngineConfiguration();
  genericPropertiesConfiguration = new GenericPropertiesConfiguration();
  camundaBpmProperties = new CamundaBpmProperties();
  genericPropertiesConfiguration.camundaBpmProperties = camundaBpmProperties;
}
 
@Test
public void delegate_for_springConfig() throws Exception {
  ProcessEngineConfigurationImpl c = new SpringProcessEngineConfiguration();

  DummySpringPlugin plugin = new DummySpringPlugin();

  plugin.preInit(c);
  plugin.postInit(c);

  assertThat(plugin.preInit).isTrue();
  assertThat(plugin.postInit).isTrue();
}
 
@Bean
@ConditionalOnMissingBean(ProcessEngineConfigurationImpl.class)
public ProcessEngineConfigurationImpl processEngineConfigurationImpl(List<ProcessEnginePlugin> processEnginePlugins) {
  final SpringProcessEngineConfiguration configuration = CamundaSpringBootUtil.springProcessEngineConfiguration();
  configuration.getProcessEnginePlugins().add(new CompositeProcessEnginePlugin(processEnginePlugins));
  return configuration;
}
 
protected void configureJobExecutor(SpringProcessEngineConfiguration configuration) {
  // note: the job executor will be activated in
  // org.camunda.bpm.spring.boot.starter.runlistener.JobExecutorRunListener
  configuration.setJobExecutorActivate(false);
  configuration.setJobExecutorDeploymentAware(camundaBpmProperties.getJobExecution().isDeploymentAware());
  configuration.setJobExecutor(jobExecutor);

}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  String historyLevel = camundaBpmProperties.getHistoryLevel();
  if (historyLevel != null) {
    configuration.setHistory(historyLevel);
  }
  if (historyEventHandler != null) {
    logger.debug("registered history event handler: {}", historyEventHandler.getClass());
    configuration.getCustomHistoryEventHandlers().add(historyEventHandler);
  }
}
 
@Override
public void preInit(final SpringProcessEngineConfiguration configuration) {
  final AuthorizationProperty authorization = camundaBpmProperties.getAuthorization();
  configuration.setAuthorizationEnabled(authorization.isEnabled());
  configuration.setAuthorizationEnabledForCustomCode(authorization.isEnabledForCustomCode());
  configuration.setAuthorizationCheckRevokes(authorization.getAuthorizationCheckRevokes());

  configuration.setTenantCheckEnabled(authorization.isTenantCheckEnabled());
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  if (camundaBpmProperties.isAutoDeploymentEnabled()) {
    final Set<Resource> resources = getDeploymentResources();
    configuration.setDeploymentResources(resources.toArray(new Resource[resources.size()]));
    LOG.autoDeployResources(resources);
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  final String determineHistoryLevel = historyLevelDeterminator.determineHistoryLevel();
  if (!StringUtils.isEmpty(determineHistoryLevel)) {
    configuration.setHistory(determineHistoryLevel);
  }
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {

  if (configuration.getCustomPostBPMNParseListeners() == null) {
    configuration.setCustomPostBPMNParseListeners(new ArrayList<>());
  }

  configuration.getCustomPostBPMNParseListeners().add(new DefaultFailedJobParseListener());
  configuration.setFailedJobCommandFactory(new DefaultFailedJobCommandFactory());
}
 
@Override
public void preInit(SpringProcessEngineConfiguration configuration) {
  setProcessEngineName(configuration);
  setDefaultSerializationFormat(configuration);
  setIdGenerator(configuration);
  setJobExecutorAcquireByPriority(configuration);
  setDefaultNumberOfRetries(configuration);
}