7.1.0-M16
Release 7.1.0-M16
You can consume all the Activiti artifacts for this release from Alfresco Nexus:
1
<repositories>
2
<repository>
3
<id>activiti-releases</id>
4
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases</url>
5
</repository>
6
</repositories>
Copied!
Activiti Cloud:
1
<dependencyManagement>
2
<dependencies>
3
<dependency>
4
<groupId>org.activiti.cloud</groupId>
5
<artifactId>activiti-cloud-dependencies</artifactId>
6
<version>7.1.0-M16</version>
7
<scope>import</scope>
8
<type>pom</type>
9
</dependency>
10
</dependencies>
11
</dependencyManagement>
Copied!
Activiti Core
1
<dependencyManagement>
2
<dependencies>
3
<dependency>
4
<groupId>org.activiti</groupId>
5
<artifactId>activiti-dependencies</artifactId>
6
<version>7.1.0-M16</version>
7
<scope>import</scope>
8
<type>pom</type>
9
</dependency>
10
</dependencies>
11
</dependencyManagement>
Copied!

In the milestone 7.1.0-M16 you will find the following main fixes & features:

For the complete list of new features and bug fixes, please refer to https://github.com/Activiti/Activiti/milestone/40?closed=1.

Changes from previous milestones

  • Added support ability to configure all message topics destinations used by AAE applications. This PR provides configurations to customize destination names for static, i.e. engineEvents and dynamic destinations used by cloud connectors.
Given the following channel binding properties in the application environment context:
1
spring.cloud.stream.bindings.auditProducer.destination=engineEvents
2
spring.cloud.stream.bindings.auditConsumer.destination=engineEvents
3
spring.cloud.stream.bindings.queryConsumer.destination=engineEvents
Copied!
When the following configuration property is also present in the application environment context:
1
# to override engineEvents destination name
2
activiti.cloud.messaging.destinations.engineEvents.name=engine-events
Copied!
Then the result destination for all three bindings with matching engineEvents key will be configured to
1
spring.cloud.stream.bindings.auditProducer.destination=engine-events
2
spring.cloud.stream.bindings.auditConsumer.destination=engine-events
3
spring.cloud.stream.bindings.queryConsumer.destination=engine-events
Copied!
  • All destinations support prefix configuration. Destination prefix can be configured using activiti.cloud.messaging.destination-prefix property.
Given the following channel binding properties in the application environment context:
1
spring.cloud.stream.bindings.auditProducer.destination=engineEvents
2
spring.cloud.stream.bindings.auditConsumer.destination=engineEvents
3
spring.cloud.stream.bindings.queryConsumer.destination=engineEvents
Copied!
When the following configuration property is also present in the application environment context:
1
# to set the prefix and separator
2
activiti.cloud.messaging.destination-prefix=namespace
Copied!
Then the result destination for all three bindings with matching engineEvents key will be configured to
1
spring.cloud.stream.bindings.auditProducer.destination=namespace_engineEvents
2
spring.cloud.stream.bindings.auditConsumer.destination=namespace_engineEvents
3
spring.cloud.stream.bindings.queryConsumer.destination=namespace_engineEvents
Copied!
  • Destinations support destination separator configuration. Destination separator can be configured using activiti.cloud.messaging.destination-separator property.
Given the following channel binding properties in the application environment context:
1
# to set the prefix
2
activiti.cloud.messaging.destination-prefix=namespace
3
4
spring.cloud.stream.bindings.auditProducer.destination=engineEvents
5
spring.cloud.stream.bindings.auditConsumer.destination=engineEvents
6
spring.cloud.stream.bindings.queryConsumer.destination=engineEvents
Copied!
When the following configuration property is also present in the application environment context:
1
# to set the separator
2
activiti.cloud.messaging.destination-separator=.
Copied!
Then the result destination for all three bindings with matching engineEvents key will be configured to
1
spring.cloud.stream.bindings.auditProducer.destination=namespace.engineEvents
2
spring.cloud.stream.bindings.auditConsumer.destination=namespace.engineEvents
3
spring.cloud.stream.bindings.queryConsumer.destination=namespace.engineEvents
Copied!
  • Destination names can be customized via messaging configuration properties to use lower case via transformer configuration properties.
Given the following channel binding properties in the application environment context:
1
spring.cloud.stream.bindings.auditProducer.destination=engineEvents
2
spring.cloud.stream.bindings.auditConsumer.destination=engineEvents
3
spring.cloud.stream.bindings.queryConsumer.destination=engineEvents
Copied!
When the following configuration property is also present in the application environment context:
1
# to transform to lower case
2
activiti.cloud.messaging.destination-transformers-enabled=true
3
activiti.cloud.messaging.destination-transformers=toLowerCase
Copied!
Then the result destination for all three bindings with matching engineEvents key will be configured to
1
spring.cloud.stream.bindings.auditProducer.destination=engineevents
2
spring.cloud.stream.bindings.auditConsumer.destination=engineevents
3
spring.cloud.stream.bindings.queryConsumer.destination=engineevents
Copied!
  • The following configuration properties are introduced to configure Activiti messaging destination properties. The Activiti messaging destinations configuration uses channel destinations as key to configure binding service properties during application context initialization. The effective channel destinations will be configured at runtime by BindingServiceProperties bean post processors.
1
# Set destination separator to use to build full destinations, i.e. prefix_destination. Default is _
2
activiti.cloud.messaging.destination-separator
3
4
# Set destination prefix to use to build destinations, i.e. prefix_destination. Default is empty string.
5
activiti.cloud.messaging.destination-prefix
6
7
# Enable destination name transformers to apply conversion to all destination name for producers, consumers
8
activiti.cloud.messaging.destination-transformers-enabled
9
10
# Configure comma-delimited list of destination transformers functions to apply conversion to all destination name for producers, consumers
11
activiti.cloud.messaging.destination-transformers
12
13
# Configure regex expression to use for replacement of illegal characters in the destination names. Default is [\\t\\s*#:]
14
activiti.cloud.messaging.destination-illegal-chars-regex
15
16
# Configure replacement character for illegal characters in the destination names. Default is -
17
activiti.cloud.messaging.destination-illegal-chars-replacement
18
19
# Configure destination properties to apply customization to producers and consumer channel bindings with matching destination key.
20
# Destination name to apply for matching channel binding destinations. If empty the key is used as name. Default is empty string.
21
activiti.cloud.messaging.destinations.[channelBindingDestination].name
22
23
# Destination scope to add to destination name, i.e. name.scope. Default is null
24
activiti.cloud.messaging.destinations.[channelBindingDestination].scope
25
26
# Destination prefix to override common destination prefix. Default is null
27
activiti.cloud.messaging.destinations.[channelBindingDestination].prefix
28
29
# Destination separator to override common destination separator. Default is null
30
activiti.cloud.messaging.destinations.[channelBindingDestination].separator
Copied!
  • The default property source uses classpath:config/activiti-cloud-messaging.properties with the following default values for backward compatibility with existing destinations:
1
activiti.cloud.messaging.destination-separator=${ACT_MESSAGING_DEST_SEPARATOR:_}
2
activiti.cloud.messaging.destination-prefix=${ACT_MESSAGING_DEST_PREFIX:}
3
activiti.cloud.messaging.destination-transformers-enabled=${ACT_MESSAGING_DEST_TRANSFORMERS_ENABLED:false}
4
activiti.cloud.messaging.destination-transformers=${ACT_MESSAGING_DEST_TRANSFORMERS:toLowerCase,escapeIllegalChars}
5
6
# Default destination scope mappings for cloud stream bindings with matching channel destination
7
activiti.cloud.messaging.destinations.engineEvents.name=${ACT_RB_ENG_EVT_DEST:engineEvents}
8
activiti.cloud.messaging.destinations.signalEvent.name=${ACT_RB_SIG_EVT_DEST:signalEvent}
9
activiti.cloud.messaging.destinations.commandConsumer.name=${ACT_RB_CMD_CONSUMER_DEST:commandConsumer}
10
activiti.cloud.messaging.destinations.commandConsumer.scope=${activiti.cloud.application.name}
11
activiti.cloud.messaging.destinations.asyncExecutorJobs.name=${ACT_RB_ASYNC_JOB_EXEC_DEST:asyncExecutorJobs}
12
activiti.cloud.messaging.destinations.asyncExecutorJobs.scope=${activiti.cloud.application.name}
13
activiti.cloud.messaging.destinations.messageEvents.name=${ACT_RB_MSG_EVT_DEST:messageEvents}
14
activiti.cloud.messaging.destinations.messageEvents.scope=${activiti.cloud.application.name}
15
activiti.cloud.messaging.destinations.commandResults.name=${ACT_RB_CMD_RES_DEST:commandResults}
16
activiti.cloud.messaging.destinations.commandResults.scope=${activiti.cloud.application.name}
17
activiti.cloud.messaging.destinations.integrationResult.name=${ACT_INT_RES_CONSUMER:integrationResult}
18
activiti.cloud.messaging.destinations.integrationResult.scope=${spring.application.name}
19
activiti.cloud.messaging.destinations.integrationError.name=${ACT_INT_ERR_CONSUMER:integrationError}
20
activiti.cloud.messaging.destinations.integrationError.scope=${spring.application.name}
Copied!
  • It is possible to configure property source in file:config/activiti-cloud-messaging.properties or using standard Spring Boot application.properties file or with provided environment variable shortcuts
  • Connector Destinations Customization Binding destinations for Service Tasks Cloud Connectors are sourced from Bpmn Model definitions on startup.
  • Connector Messaging Reply Destinations Customization Connectors use responseDestination and errorDestination attributes in IntegrationRequest event to send a response back to the integration result consumer. The integration request producer will provide destinations for a response when sending the request.
  • Message Event Reply Destination Customization Message events will now use messageEventRouterDestination message header attribute to route correlated messages back to the command consumer. The message event producer will provide a destination for a response when sending the request.
  • Enabling destination transformer will apply to lower case transformation filter and replace illegal characters with replacement char for all destinations.
Last modified 10d ago