Broadleaf Microservices
  • v1.0.0-latest-prod

Messaging Configuration

Overview

There are various properties you can configure when utilizing Broadleaf’s messaging features in any service.

Cluster Properties

Properties related to general cluster singleton config. These properties tend to be set for each individual FlexPackage™ deployment.

Property Description

broadleaf.messaging.clusterServiceImplementationType

Specify which camel cluster service implementation to support. Supported values are: file, zookeeper, kubernetes, and none. none is useful to disable out-of-the-box config, presumably so you can manually add different or new cluster service implementation support. Default is file. file is suitable for local development, but in a real-world production environment, zookeeper or kubernetes should be used instead in order to support proper cluster service establishment across multiple instances of a given service.

broadleaf.messaging.clusterK8sAppLabel

If using kubernetes cluster service implementation type, this is the name of the pod label used to group common service instances. The default value is k8s-app.

broadleaf.messaging.clusterK8sAppLabelValue

If using kubernetes cluster service implementation type, this is the value for the pod label. The default is unknown and this value must be set (generally as a environment variable on a pod definition) in order to inform the camel support running in that pod.

Persistence Producer Properties

Configuration properties for the NotificationHandler and RetryHandler related to PersistenceProducer

Property Description

broadleaf.persistence.notification.*

See com.broadleafcommerce.common.messaging.notification.NotificationProperties for full list of options.

broadleaf.persistence.retry.*

See com.broadleafcommerce.common.messaging.notification.RetryProperties for full list of options.

Async Persistence Producer Properties

Property Description Default

broadleaf.notification.manager.thread-pool-size

The thread pool size used for async handling. The producer will not block during the attempt to send when calling the handleAsync method.

10

broadleaf.notification.manager.async-enabled

Whether calls to handleAsync method will actually use the thread pool, or if they will instead block like the normal handle call. This can be useful in tests, or if reverting to the previous behavior is desired.

true

Resource Lock Properties

Properties related to the repository responsible for allowing requesters to lock and unlock a resource.

Property Description

broadleaf.resource.lock.defaultStagnationThreshold

The time, once elapsed, in which the system will consider a lock abandoned and allow another requester to acquire the lock. The default value is 15 (seconds).

broadleaf.resource.lock.lockPurgePageSize

The number of lock records to purge in a single page. Default value is 1000.