Using JMS
The Flowable Engage application uses JMS to communicate with the adapters that are responsible for communicating with the third party external systems (e.g., WhatsApp, WeChat, etc.).
The Flowable Engage listens to the defined queues only if the appropriate external system dependency is present. |
Queues
These are the queues that the Flowable Engage Application is subscribed to:
Third Party system | Property | Default Value |
---|---|---|
|
whatsapp-inbound-payload |
|
|
whatsapp-inbound |
|
|
whatsapp-inbound-status |
|
|
whatsapp-inbound-error |
|
|
wechat-inbound |
|
|
wechat-inbound-status |
|
|
wechat-inbound-error |
|
|
wechat-get-access-token |
|
|
wechat-store-access-token |
Property | Default Value |
---|---|
|
whatsapp-outbound |
Property | Default Value |
---|---|
|
wechat-outbound |
These are the JMS queues (and properties) that the Flowable applications are sending to:
Third Party system | Property | Default Value |
---|---|---|
|
whatsapp-outbound |
|
|
wechat-outbound |
Property | Default Value |
---|---|
|
whatsapp-inbound-payload |
|
whatsapp-inbound |
|
whatsapp-inbound-status |
|
whatsapp-inbound-error |
Property | Default Value |
---|---|
|
wechat-inbound |
|
wechat-inbound-status |
|
wechat-inbound-error |
|
wechat-get-access-token |
|
wechat-store-access-token |
IBM MQ
Flowable provides out of the box support for using the IBM MQ client. In order to use the IBM client you need to add the following dependency:
<dependency>
<groupId>com.flowable.platform</groupId>
<artifactId>flowable-spring-boot-starter-ibm-mq</artifactId>
<version>${com.flowable.platform.version}</version>
</dependency>
This dependency pulls in the needed transitive dependencies for communicating with IBM MQ.
When using IBM MQ the values for the queues should be changed. The reason for the changes is that IBM MQ does not support the use of the "-" character in the name of the queue. |
Default Configuration
The selected default options have been set in order to match the
IBM MQ Docker Container development
configuration. The created MQConnectionFactory
is by default wrapped in a Spring
CachingConnectionFactory
.
The default values are:
flowable.ibm.mq.host=localhost
flowable.ibm.mq.port=1414
flowable.ibm.mq.channel=DEV.APP.SVRCONN
flowable.ibm.mq.queue-manager=QM1
flowable.ibm.mq.application-name=
flowable.ibm.mq.user=app
flowable.ibm.mq.password=
Extended Configuration Options
Changing the default configuration is done by defining your properties in
an application.properties
file, environment properties, system properties, etc.
For more information see Using Spring Boot Properties.
Pooled Connection Factory Options
There is an option to enable using the JmsPoolConnectionFactory
.
This is disabled by default. It can be configured by using the following properties:
Property | Description | Default Value |
---|---|---|
|
Use |
|
|
Block a connection when the pool is full. |
|
|
Blocking period before throwing an exception if the pool is still full. |
-1 |
|
Connection idle timeout. |
30 seconds |
|
Maximum number of pooled connections. |
1 |
|
Maximum number of pooled sessions per connection in the pool. |
500 |
|
Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs. |
-1 |
|
Whether to use only one anonymous "MessageProducer" instance. Set it to |
|
Cached Connection Factory Options
By default the Spring CachingConnectionFactory
is used with the following properties:
Property | Description | Default Value |
---|---|---|
|
Whether to cache sessions. |
|
|
Whether to cache message consumers. |
|
|
Whether to cache message producers. |
|
|
Size of the session cache (per JMS Session type). |
-1 |
ActiveMQ
Flowable provides out of the box support (via Spring Boot) for using the ActiveMQ client. In order to use ActiveMQ add the following dependency:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
This dependency pulls in the needed transitive dependencies for communicating with ActiveMQ.
Configuration Options
Configuring the connection with ActiveMQ is done by defining your properties in
an application.properties
file, environment properties, system properties, etc.
For more information see Using Spring Boot Properties.
ActiveMQ Connection Factory Options
Property | Description | Default Value |
---|---|---|
|
URL of the ActiveMQ broker. Auto-generated by default. |
- |
|
Whether the default broker URL should be in memory. Ignored if an explicit broker has been specified. |
|
|
Login user of the broker. |
- |
|
Login password of the broker. |
- |
|
Time to wait before considering a close complete. |
15 seconds |
|
Whether to stop message delivery before re-delivering messages from a rolled back transaction. This implies that message order is not preserved when this is enabled. |
|
|
Time to wait on message sends for a response. Set it to 0 to wait forever. |
0 |
|
Whether to trust all packages. |
- |
|
Comma-separated list of specific packages to trust (when not trusting all packages). |
- |
Pooled Connection Factory Options
There is an option to enable using the JmsPoolConnectionFactory
.
This is disabled by default.
It can be configured by using the following properties:
Property | Description | Default Value |
---|---|---|
|
Use |
|
|
Block a connection when the pool is full. |
|
|
Blocking period before throwing an exception if the pool is still full. |
-1 |
|
Connection idle timeout. |
30 seconds |
|
Maximum number of pooled connections. |
1 |
|
Maximum number of pooled sessions per connection in the pool. |
500 |
|
Time to sleep between runs of the idle connection eviction thread. When negative, no idle connection eviction thread runs. |
-1 |
|
Whether to use only one anonymous "MessageProducer" instance. Set it to |
|
Cached Connection Factory Options
By default the Spring CachingConnectionFactory
is used with the following properties:
Property | Description | Default Value |
---|---|---|
|
Whether to cache sessions. |
|
|
Whether to cache message consumers. |
|
|
Whether to cache message producers. |
|
|
Size of the session cache (per JMS Session type). |
-1 |