Camunda 7.2 上的历史级别不匹配

问题描述 投票:0回答:2

我按照官方网站上的指南将 camunda.war (7.2) 部署到我的普通 tomcat7 中。

现在当我启动tomcat时出现以下错误:

GRAVE: Error while closing command context
org.camunda.bpm.engine.ProcessEngineException: historyLevel mismatch: configuration says org.camunda.bpm.engine.impl.history.HistoryLevelAudit@21 and database says 3

在数据库(ACT_GE_PROPERTY 表)中,historyLevel 设置为 3 这是我的 bpm-platform.xml 文件

    <?xml version="1.0" encoding="UTF-8"?>
<bpm-platform xmlns="http://www.camunda.org/schema/1.0/BpmPlatform"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.camunda.org/schema/1.0/BpmPlatform http://www.camunda.org/schema/1.0/BpmPlatform ">

  <job-executor>
    <job-acquisition name="default" />
  </job-executor>

  <process-engine name="default">
    <job-acquisition>default</job-acquisition>
    <configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
    <datasource>java:jdbc/solve</datasource> 

    <properties>
      <property name="history">full</property>
      <property name="databaseSchemaUpdate">true</property>
      <property name="authorizationEnabled">true</property>
      <property name="jobExecutorDeploymentAware">true</property>
    </properties>


    <plugins>

    <!-- plugin enabling Process Application event listener support -->
        <plugin>
           <class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class>
        </plugin>

    <!-- plugin enabling integration of camunda Spin -->
        <plugin>
           <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class>
        </plugin>

        <!-- plugin enabling connect support -->
        <plugin>
           <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class>
        </plugin>
    </plugins>

  </process-engine>

</bpm-platform>

编辑

流程.xml

    <?xml version="1.0" encoding="UTF-8" ?> 
<process-application 
     xmlns="http://www.camunda.org/schema/1.0/ProcessApplication" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

  <process-archive name="MyProcess"> 
    <process-engine>myEngine</process-engine>
    <properties> 
      <property name="isDeleteUponUndeploy">false</property> 
      <property name="isScanForProcessDefinitions">true</property> 
    </properties> 
  </process-archive> 

</process-application>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">


    <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/my_process" />

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

    <bean id="processEngineConfiguration" class="org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration">
        <property name="processEngineName" value="myEngine" /> 
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="databaseSchemaUpdate" value="true" />
        <property name="jobExecutorActivate" value="false" />
        <property name="deploymentResources" value="classpath*:*.bpmn" />
        <property name="processEnginePlugins">
            <list>
              <bean id="spinPlugin" class="org.camunda.spin.plugin.impl.SpinProcessEnginePlugin" />
            </list>
        </property>
    </bean>

    <bean id="processEngine" class="org.camunda.bpm.engine.spring.container.ManagedProcessEngineFactoryBean" destroy-method="destroy">
        <property name="processEngineConfiguration" ref="processEngineConfiguration" />
    </bean>

    <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
    <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
    <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
    <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
    <bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />

    <bean id="MyProcess" class="org.camunda.bpm.engine.spring.application.SpringServletProcessApplication" />

    <context:annotation-config />

    <bean class="it.processes.Starter" />
    <bean id="cudOnProcessVariableService" class="it.services.CUDonProcessVariableService" />

</beans>
camunda
2个回答
4
投票

您是否从 camunda.org/download 下载了 Tomcat 的“camunda 独立 web 应用程序”WAR?

如果是这样,您应该通过将

<property name="history" value="full"/>
添加到流程引擎配置 bean
<bean id="processEngineConfiguration" class="org.camunda.bpm.engine.spring.SpringProcessEngineConfiguration>
来调整“application-context.xml”文件内的历史级别。

否则,你写下将

camunda.war
安装到普通 Tomcat 却发布了对
bpm-platform.xml
文件的引用,这很奇怪,当你不使用共享流程引擎方法时,该文件根本不会被使用。


0
投票

要更改 Spring Boot 应用程序中的历史级别,您应该在两个地方更改配置 首先更改 ACT_GE_PROPERTY 表中的历史级别。

//NONE(0), ACTIVITY(1), AUDIT(2), FULL(3)
//default is FULL(3)
update act_ge_property set VALUE_ = '1' where NAME_ = 'historyLevel';

在第二步中,您应该将 application.yml 文件中的默认历史级别配置更改为:

camunda.bpm.history-level: ACTIVITY
© www.soinside.com 2019 - 2024. All rights reserved.