$APP_SERVER should be replaced with either jboss or wildfly, depending on
the used application server.
The update procedure takes the following steps:
- Update the ASEE Flow Modules
- Update Optional ASEE Flow Modules
- Maintain Process Engine Configuration
- Maintain Process Applications
- Update ASEE Flow Web Applications
Updated Wildfly VersionThe pre-built ASEE Flow 7.5 distribution ships with Wildfly 8 and in addition with Wildfly 10, whereas 7.4 comes just with Wildfly 8. In particular, ASEE Flow 7.5 is supported on Wildfly 8.2 and 10.1 such that a Wildfly update is not required when migrating from 7.4 to 7.5.See the Wildfly migration guide for any Wildfly-specific migration notes and procedures.
1. Update the ASEE Flow Modules
Replace the following modules from the folder$APP_SERVER_HOME/modules/ with their new versions from the folder $APP_SERVER_DISTRIBUTION/modules/:
org/camunda/bpm/camunda-engineorg/camunda/bpm/$APP_SERVER/camunda-$APP_SERVER-subsystemorg/camunda/bpm/model/camunda-bpmn-modelorg/camunda/bpm/model/camunda-cmmn-modelorg/camunda/bpm/model/camunda-dmn-modelorg/camunda/bpm/model/camunda-xml-modelorg/camunda/bpm/dmn/camunda-engine-dmnorg/camunda/bpm/dmn/camunda-engine-feel-apiorg/camunda/bpm/dmn/camunda-engine-feel-juelorg/camunda/commons/camunda-commons-loggingorg/camunda/commons/camunda-commons-typed-valuesorg/camunda/commons/camunda-commons-utils
2. Update Optional ASEE Flow Modules
In addition to the core modules, there may be optional artifacts in$APP_SERVER_HOME/modules/ for LDAP integration, ASEE Flow Connect, ASEE Flow Spin, and Groovy scripting.
If you use any of these extensions, the following update steps apply:
LDAP Integration
Replace the following module from the folder$APP_SERVER_HOME/modules/ with its new version from the folder $APP_SERVER_DISTRIBUTION/modules/, if present:
org/camunda/bpm/identity/camunda-identity-ldap
ASEE Flow Connect
Replace the following modules from the folder$APP_SERVER_HOME/modules/ with their new versions from the folder $APP_SERVER_DISTRIBUTION/modules/, if present:
org/camunda/connect/camunda-connect-coreorg/camunda/connect/camunda-connect-httporg/camunda/connect/camunda-connect-soap-httporg/camunda/bpm/camunda-engine-plugin-connect
ASEE Flow Spin
Replace the following modules from the folder$APP_SERVER_HOME/modules/ with their new versions from the folder $APP_SERVER_DISTRIBUTION/modules/, if present:
org/camunda/spin/camunda-spin-coreorg/camunda/spin/camunda-spin-dataformat-json-jacksonorg/camunda/spin/camunda-spin-dataformat-xml-domorg/camunda/bpm/camunda-engine-plugin-spin
com/fasterxml/jackson/core/jackson-annotationscom/fasterxml/jackson/core/jackson-corecom/fasterxml/jackson/core/jackson-databind
Groovy Scripting
Replace the following module from the folder$APP_SERVER_HOME/modules/ with its new version from the folder $APP_SERVER_DISTRIBUTION/modules/ if present:
org/codehaus/groovy/groovy-all
3. Maintain Process Engine Configuration
This section describes changes in the engine’s default behavior. While the change is reasonable, your implementation may rely on the previous default behavior. Thus, the previous behavior can be restored for shared process engines by explicitly setting a configuration option.Configuration of Job Executor Thread Pool in ASEE Flow Wildfly 8 subsystem
Beginning with 7.5, the Thread Pool used by the Job Executor is defined as part of the ASEE Flow Wildfly subsystem instead of the JBoss Threads subsystem. The reason is the deprecation and removal of the JBoss Threads subsystem since Wildfly 9. To be compatible with Wildfly 8-10, ASEE Flow rewrote the existing subsystem.As a consequence, you must transfer your existing Thread Pool configuration from the JBoss Threads subsystem to the ASEE Flow subsystem using the following steps.
-
First, transfer the JBoss Threads configuration to the ASEE Flow subsystem. Search for the JBoss Threads subsystem configuration in your
standalone.xmlconfiguration. It looks similar to this example:Search for the configuration responsible for the Job Executor Thread Pool. For each of the configuration elements and attributes of the JBoss Threads subsystem Job Executor configuration, a representation in the ASEE Flow subsystem exists under thejob-executor-element since 7.5.
Using the above example snippet of the JBoss Threads configuration and theJBoss Threads to Camundasubsystem mapping table at the end of this section, the new ASEE Flow subsystem configuration would look like the following example snippet: -
As second step, since you have now configured the Thread Pool in the ASEE Flow subsystem, remove the JBoss Threads subsystem configuration entry related to the ASEE Flow Job Executor Thread Pool.
When there is no other thread-pool configuration entry left, you could also delete the JBoss Threads subsystem entirely.
-
As an optional cleanup step, you can delete the JBoss Threads subsystem entry in the extensions element on top of the
standalone.xmlfile, if you no longer need it.
JBoss Threads to ASEE Flow subsystem mapping table
The following mapping table shows the JBoss Threads properties and their counterpart in the ASEE Flow Subsystem to ease the transition of the Job Executor Thread Pool configuration to the ASEE Flow subsystem.| JBoss Threads Property name | ASEE Flow Subsystem Property name | Description |
|---|---|---|
name=“job-executor-tp” | <thread-pool-name> | Specify the name of the thread pool. Can be discarded because it is not longer needed. Default Value: job-executor-tp |
<core-threads count=“3” /> | <core-threads> | Sets the minimum number of threads that are always present in the thread pool. Default Value: 3 |
<max-threads count=“10” /> | <max-threads> | Sets the maximum number of threads that can be present in the thread pool. Default Value: 5 |
<queue-length count=“3” /> | <queue-length> | Sets the size of the queue for the thread pool => maximum number of tasks storeable in the queue until it signals that it is full. Default Value: 10 |
<keepalive-time time=“10” unit=“seconds” /> | <keepalive-time> | Specify the time in seconds that threads will be kept alive for when there are no tasks present, before threads are terminated until the core-threads number is reached. Default Value: 10 |
allow-core-timeout=“true” | <allow-core-timeout> | Specify if core threads are allowed to timeout and shutdown when they idle for the timespan specified by keepalive-time. Default Value: true |
4. Maintain Process Applications
This section describes changes in the internal API of the engine. If you have implemented one of the APIs and replaced the default implementation then you have to adjust your custom implementation. Otherwise, you can skip this section.Incident Handler
The interface of an Incident Handler has changed. Instead of a long parameter list, the methods pass a context object which bundles all required information, like process definition id, execution id and tenant id. Since the existing methods have been overridden, custom implementations of an incident handler have to be adjusted.Correlation Handler
A new method has been added to the interface of a Correlation Handler. The new methodcorrelateStartMessage() allows to explicitly trigger a message start event of a process definition. If the default implementation is replaced by a custom one then it has to be adjusted.
Job Handler
The interface of a Job Handler has changed to support multi-tenancy and separate the parsing of the configuration.5. Update ASEE Flow Web Applications
Update REST API
The following steps are required to update the ASEE Flow REST API on a JBoss/Wildfly instance:- Undeploy an existing web application with a name like
camunda-engine-rest - Download the REST API web application archive from our Artifact Repository. Alternatively, switch to the private repository for
the enterprise version (username and password from license required). Choose the correct version named
$PLATFORM_VERSION/camunda-engine-rest-$PLATFORM_VERSION.war. - Deploy the web application archive to your JBoss/Wildfly instance.
Update Cockpit, Tasklist, and Admin
The following steps are required to update the ASEE Flow web applications Cockpit, Tasklist, and Admin on a JBoss/Wildfly instance:- Undeploy an existing web application with a name like
camunda-webapp - Download the ASEE Flow web application archive from our Artifact Repository.
Alternatively, switch to the private repository for the enterprise version (username and password from license required).
Choose the correct version named
$PLATFORM_VERSION/camunda-webapp-jboss.war. - Deploy the web application archive to your JBoss/Wildfly instance.