# Shared Concepts

**URL:** https://forums.broadleafcommerce.com/c/shared-concepts/6.md

[Latest](https://forums.broadleafcommerce.com/latest.md) · [Categories](https://forums.broadleafcommerce.com/categories.md) · [Tags](https://forums.broadleafcommerce.com/tags.md)

---

## [Shared Concepts Category - Start Here](https://forums.broadleafcommerce.com/t/shared-concepts-category-start-here/11)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 8, 2024, 6:25pm UTC](https://forums.broadleafcommerce.com/t/shared-concepts-category-start-here/11 "2024-11-08T18:25:03Z")

</div>

If you’re new to the Broadleaf Discourse, please make sure to read the welcome post at Welcome to the Broadleaf Commerce Discourse forum! Before posting in this category, please do a search to see if your question has b…

---

## [Interlink Service Communication](https://forums.broadleafcommerce.com/t/interlink-service-communication/103)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [March 25, 2026, 2:01am UTC](https://forums.broadleafcommerce.com/t/interlink-service-communication/103 "2026-03-25T02:01:09Z")

</div>

We received a support ticket asking about the best way to handle service-to-service communication when upgrading from Broadleaf 2.0.2 to 2.2.1. Specifically, the team wanted a way to call other services that works seamle…

---

## [How can I debug a call to an auto-generated endpoint for a new custom entity?](https://forums.broadleafcommerce.com/t/how-can-i-debug-a-call-to-an-auto-generated-endpoint-for-a-new-custom-entity/97)

<div class="topic-metadata">

**Author:** [@broadleaf-devops](https://forums.broadleafcommerce.com/u/broadleaf-devops)\
**Replies:** 0\
**Last updated:** [October 22, 2025, 6:47pm UTC](https://forums.broadleafcommerce.com/t/how-can-i-debug-a-call-to-an-auto-generated-endpoint-for-a-new-custom-entity/97 "2025-10-22T18:47:55Z")

</div>

Broadleaf’s Extensibility Concepts illustrates how you can easily create a new custom entity where Broadleaf will auto-generate several components for you - such as an endpoint, projection, repository, etc… Question - …

---

## [Managing Locales and Currencies in Broadleaf Microservices](https://forums.broadleafcommerce.com/t/managing-locales-and-currencies-in-broadleaf-microservices/91)

<div class="topic-metadata">

**Author:** [@broadleaf-devops](https://forums.broadleafcommerce.com/u/broadleaf-devops)\
**Replies:** 0\
**Last updated:** [September 16, 2025, 5:17pm UTC](https://forums.broadleafcommerce.com/t/managing-locales-and-currencies-in-broadleaf-microservices/91 "2025-09-16T17:17:04Z")

</div>

Managing Locales and Currencies in Broadleaf Internationalization in Broadleaf Commerce involves configuration at multiple levels e.g. tenant, application, catalog, as well as across microservices e.g search services — d…

---

## [Distribution Tracing Implementation](https://forums.broadleafcommerce.com/t/distribution-tracing-implementation/82)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 1\
**Last updated:** [August 7, 2025, 12:06am UTC](https://forums.broadleafcommerce.com/t/distribution-tracing-implementation/82 "2025-08-07T00:06:43Z")

</div>

As part of our efforts to enhance our logging module, we are currently working on integrating trace ID support to make it easier to trace requests and identify issues across all microservices. We have successfully confi…

---

## [Best Practices for Adding a Stateless Microservice in Balanced Deployment Model](https://forums.broadleafcommerce.com/t/best-practices-for-adding-a-stateless-microservice-in-balanced-deployment-model/78)

<div class="topic-metadata">

**Author:** [@hagarabdelzaher](https://forums.broadleafcommerce.com/u/hagarabdelzaher)\
**Replies:** 1\
**Last updated:** [July 24, 2025, 3:14am UTC](https://forums.broadleafcommerce.com/t/best-practices-for-adding-a-stateless-microservice-in-balanced-deployment-model/78 "2025-07-24T03:14:16Z")

</div>

Given new business requirements, I need to introduce a new microservice to our Broadleaf-based ecosystem. This service will not have its own database and will mainly be responsible for consuming events from existing serv…

---

## [What is Data Routing and how does it work?](https://forums.broadleafcommerce.com/t/what-is-data-routing-and-how-does-it-work/21)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 5:23pm UTC](https://forums.broadleafcommerce.com/t/what-is-data-routing-and-how-does-it-work/21 "2024-11-26T17:23:40Z")

</div>

Each Microservice uses a separate bounded context with a separate physical database. When running multiple microservices in the same deployment (AKA Flex Package), the system needs to know where to route the DB queries. …

---

## [If we would like to disable retryHandler logic temporarily, how could we do it?](https://forums.broadleafcommerce.com/t/if-we-would-like-to-disable-retryhandler-logic-temporarily-how-could-we-do-it/46)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:23pm UTC](https://forums.broadleafcommerce.com/t/if-we-would-like-to-disable-retryhandler-logic-temporarily-how-could-we-do-it/46 "2024-12-03T16:23:34Z")

</div>

There isn’t an easy way to disable the retry handler logic. This system is difficult to disable and no one has asked for this before. About the easiest we can think of is a BeanPostProcessor that wraps any RetryClusterSe…

---

## [I have a topic (e.g. fulfillmentFulfilling) with multiple anonymous consumer groups with it. How to manage them and understand in a better way?](https://forums.broadleafcommerce.com/t/i-have-a-topic-e-g-fulfillmentfulfilling-with-multiple-anonymous-consumer-groups-with-it-how-to-manage-them-and-understand-in-a-better-way/45)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:23pm UTC](https://forums.broadleafcommerce.com/t/i-have-a-topic-e-g-fulfillmentfulfilling-with-multiple-anonymous-consumer-groups-with-it-how-to-manage-them-and-understand-in-a-better-way/45 "2024-12-03T16:23:08Z")

</div>

This can happen when the consumer was added but a group wasn’t specified. I can’t find it in our codebase so I assume that this is something you added. For example, if you have a consumer fulfillmentFulfillingInput you n…

---

## [I am using the service layer classes to customize my logic in my component/extension/customization. How does communication occur between different extended components?](https://forums.broadleafcommerce.com/t/i-am-using-the-service-layer-classes-to-customize-my-logic-in-my-component-extension-customization-how-does-communication-occur-between-different-extended-components/44)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:22pm UTC](https://forums.broadleafcommerce.com/t/i-am-using-the-service-layer-classes-to-customize-my-logic-in-my-component-extension-customization-how-does-communication-occur-between-different-extended-components/44 "2024-12-03T16:22:10Z")

</div>

When using out-of-the-box Broadleaf Microservices flows, the components are already aware of the different microservices they are extending. So if you extend and override a Cart component via Spring bean, then the overfl…

---

## [How do I retrieve information from one microservice into another? When should I use Kafka vs a WebClient?](https://forums.broadleafcommerce.com/t/how-do-i-retrieve-information-from-one-microservice-into-another-when-should-i-use-kafka-vs-a-webclient/43)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:21pm UTC](https://forums.broadleafcommerce.com/t/how-do-i-retrieve-information-from-one-microservice-into-another-when-should-i-use-kafka-vs-a-webclient/43 "2024-12-03T16:21:58Z")

</div>

There are two ways to achieve this: Via Kafka/PubSub (Spring Messaging) Via WebClient Depending on the mechanism used, the implementations differ. WebClient flows are typically used when an immediate response is need…

---

## [Can I bypass sandbox behavior? I want to temporarily remove this sandbox abstraction layer to have my changes up and running instantly. Is it advisable to do so?](https://forums.broadleafcommerce.com/t/can-i-bypass-sandbox-behavior-i-want-to-temporarily-remove-this-sandbox-abstraction-layer-to-have-my-changes-up-and-running-instantly-is-it-advisable-to-do-so/39)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:14pm UTC](https://forums.broadleafcommerce.com/t/can-i-bypass-sandbox-behavior-i-want-to-temporarily-remove-this-sandbox-abstraction-layer-to-have-my-changes-up-and-running-instantly-is-it-advisable-to-do-so/39 "2024-12-03T16:14:17Z")

</div>

We wouldn’t recommend you do so as it could cause more problems. Sandboxes very rarely cause problems and should work fine. Usually, the issues with deploying occur if Kafka doesn’t work properly. A good way to check fo…

---

## [What is the use of the retryHandler() bean? What issues could arise if I disable it?](https://forums.broadleafcommerce.com/t/what-is-the-use-of-the-retryhandler-bean-what-issues-could-arise-if-i-disable-it/38)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:13pm UTC](https://forums.broadleafcommerce.com/t/what-is-the-use-of-the-retryhandler-bean-what-issues-could-arise-if-i-disable-it/38 "2024-12-03T16:13:46Z")

</div>

This bean is required by the Durable Message Send feature - Broadleaf Dev Central If an error occurs, we use this RetryHandler to retry sending the message to Kafka. The message itself is stored in the “BLC\_NOTIFICATION…

---

## [I want to send only Push Notifications to my customers and disable email notifications. How do I achieve this?](https://forums.broadleafcommerce.com/t/i-want-to-send-only-push-notifications-to-my-customers-and-disable-email-notifications-how-do-i-achieve-this/37)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:13pm UTC](https://forums.broadleafcommerce.com/t/i-want-to-send-only-push-notifications-to-my-customers-and-disable-email-notifications-how-do-i-achieve-this/37 "2024-12-03T16:13:27Z")

</div>

CartOperationServices sends out a checkout completion notification when a cart finishes going through checkout. NotificationServices listens for this message in com.broadleafcommerce.notification.service.messaging.Notifi…

---

## [How do I disable the default email Push notification? I am seeing the HTML email log messages](https://forums.broadleafcommerce.com/t/how-do-i-disable-the-default-email-push-notification-i-am-seeing-the-html-email-log-messages/36)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:13pm UTC](https://forums.broadleafcommerce.com/t/how-do-i-disable-the-default-email-push-notification-i-am-seeing-the-html-email-log-messages/36 "2024-12-03T16:13:06Z")

</div>

When using the default logging message sender, you should see this notification on code startup: Using LoggingMessageSender: Do not use in production! These logs can (and in production should) be disabled by setting th…

---

## [How do I generate an extension component for BulkOps?](https://forums.broadleafcommerce.com/t/how-do-i-generate-an-extension-component-for-bulkops/35)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:12pm UTC](https://forums.broadleafcommerce.com/t/how-do-i-generate-an-extension-component-for-bulkops/35 "2024-12-03T16:12:29Z")

</div>

If the component level node for bulkops is set to true for the enabled property in the manifest.yml, then it will get a component module as well. This is easily demonstrated with a granular manifest download from start.b…

---

## [How does Broadleaf identify that a new route/endpoint is added to the code (not default broadleaf one)?](https://forums.broadleafcommerce.com/t/how-does-broadleaf-identify-that-a-new-route-endpoint-is-added-to-the-code-not-default-broadleaf-one/33)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:11pm UTC](https://forums.broadleafcommerce.com/t/how-does-broadleaf-identify-that-a-new-route-endpoint-is-added-to-the-code-not-default-broadleaf-one/33 "2024-12-03T16:11:41Z")

</div>

For example if I want to add a new endpoint to notification service, how do I make sure it is registered and working? And if I want to address this route from another service for access\_token fetching, how do I achieve t…

---

## [Could you please share more details about what the fields trk\_archived, trk\_change\_details and trk\_tenant\_id are for?](https://forums.broadleafcommerce.com/t/could-you-please-share-more-details-about-what-the-fields-trk-archived-trk-change-details-and-trk-tenant-id-are-for/32)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [December 3, 2024, 4:10pm UTC](https://forums.broadleafcommerce.com/t/could-you-please-share-more-details-about-what-the-fields-trk-archived-trk-change-details-and-trk-tenant-id-are-for/32 "2024-12-03T16:10:10Z")

</div>

These fields are obtained from the ContextInfo. It contains the information about the API request. The very important part to support the multi-tenancy is a ContextRequest. It contains such information as tenantId, catal…

---

## [I am noticing an unusually long boot up time when using Granular flex package to run the stack locally. I am running the stack via Docker containers and haven't modified anything in the docker image. Why is this happening?](https://forums.broadleafcommerce.com/t/i-am-noticing-an-unusually-long-boot-up-time-when-using-granular-flex-package-to-run-the-stack-locally-i-am-running-the-stack-via-docker-containers-and-havent-modified-anything-in-the-docker-image-why-is-this-happening/31)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:13pm UTC](https://forums.broadleafcommerce.com/t/i-am-noticing-an-unusually-long-boot-up-time-when-using-granular-flex-package-to-run-the-stack-locally-i-am-running-the-stack-via-docker-containers-and-havent-modified-anything-in-the-docker-image-why-is-this-happening/31 "2024-11-26T18:13:16Z")

</div>

We have seen issues when running the stack locally via Docker as it could not have enough memory allocated. To run all the granular microservices locally takes A LOT of RAM. These are the Docker config recommendations fo…

---

## [Could you share some information about the percentage of clients which use Granular infrastructure and ones of Balanced infra. We are deciding what infrastructure to use?](https://forums.broadleafcommerce.com/t/could-you-share-some-information-about-the-percentage-of-clients-which-use-granular-infrastructure-and-ones-of-balanced-infra-we-are-deciding-what-infrastructure-to-use/30)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:09pm UTC](https://forums.broadleafcommerce.com/t/could-you-share-some-information-about-the-percentage-of-clients-which-use-granular-infrastructure-and-ones-of-balanced-infra-we-are-deciding-what-infrastructure-to-use/30 "2024-11-26T18:09:27Z")

</div>

Most of our clients use the Balanced flex package, and only some use Granular. The Balanced flex package is the recommended starting composition for most enterprise clients. You can find more in our documentation: Scala…

---

## [How does the frontend funnel requests to a particular flex package in the backend when a new endpoint is added?](https://forums.broadleafcommerce.com/t/how-does-the-frontend-funnel-requests-to-a-particular-flex-package-in-the-backend-when-a-new-endpoint-is-added/29)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:08pm UTC](https://forums.broadleafcommerce.com/t/how-does-the-frontend-funnel-requests-to-a-particular-flex-package-in-the-backend-when-a-new-endpoint-is-added/29 "2024-11-26T18:08:59Z")

</div>

The customized endpoint already exists in an extended/customized library component, which is part of a flexPackage (depends on your manifest configuration). The fact that you extended that endpoint does not alter the gat…

---

## [Based on the documentation, I feel that if we get rid of addition abstraction layer flex package and deal with microservices one by one we could have more easily implement code. Do you recommend that?](https://forums.broadleafcommerce.com/t/based-on-the-documentation-i-feel-that-if-we-get-rid-of-addition-abstraction-layer-flex-package-and-deal-with-microservices-one-by-one-we-could-have-more-easily-implement-code-do-you-recommend-that/28)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:08pm UTC](https://forums.broadleafcommerce.com/t/based-on-the-documentation-i-feel-that-if-we-get-rid-of-addition-abstraction-layer-flex-package-and-deal-with-microservices-one-by-one-we-could-have-more-easily-implement-code-do-you-recommend-that/28 "2024-11-26T18:08:29Z")

</div>

The flex packages concept doesn’t impact the code implementation complexity. Working with flex packages is a structural, configuration concern. Therefore it impacts DevOps concerns rather than code/implementation ones. M…

---

## [It seems a bit complicated to generate new \*\*Component for each microservice we plan to modify. Can we just write our business logic right inside for example Browse flex package?](https://forums.broadleafcommerce.com/t/it-seems-a-bit-complicated-to-generate-new-component-for-each-microservice-we-plan-to-modify-can-we-just-write-our-business-logic-right-inside-for-example-browse-flex-package/27)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:07pm UTC](https://forums.broadleafcommerce.com/t/it-seems-a-bit-complicated-to-generate-new-component-for-each-microservice-we-plan-to-modify-can-we-just-write-our-business-logic-right-inside-for-example-browse-flex-package/27 "2024-11-26T18:07:11Z")

</div>

The flex packages are meant for grouping microservices that are deployed together in the same runtime. Routing and datasource semantics allow them to live together without violating the bounded context required by micros…

---

## [What is the right flex package configuration for me?](https://forums.broadleafcommerce.com/t/what-is-the-right-flex-package-configuration-for-me/26)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:06pm UTC](https://forums.broadleafcommerce.com/t/what-is-the-right-flex-package-configuration-for-me/26 "2024-11-26T18:06:43Z")

</div>

We recommend the Balanced flex package in most cases because in this configuration, the request/response traffic flows are segregated from the batch jobs and they have different threads and CPUs. This strategy helps in k…

---

## [What is the microservice-flexpackage-manifest dependency?](https://forums.broadleafcommerce.com/t/what-is-the-microservice-flexpackage-manifest-dependency/25)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:05pm UTC](https://forums.broadleafcommerce.com/t/what-is-the-microservice-flexpackage-manifest-dependency/25 "2024-11-26T18:05:46Z")

</div>

When a granular starter is downloaded from start.broadleafcommerce.com and any library component in the manifest file is enabled for customization, a library component for override functionality is generated which contai…

---

## [What is the granular flex package?](https://forums.broadleafcommerce.com/t/what-is-the-granular-flex-package/24)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:05pm UTC](https://forums.broadleafcommerce.com/t/what-is-the-granular-flex-package/24 "2024-11-26T18:05:17Z")

</div>

Granular mode refers to running each microservice in its own deployment container. A typical production instance would be running multiple containers per service for high availability. Since our suite consists of many mi…

---

## [What is a flex package?](https://forums.broadleafcommerce.com/t/what-is-a-flex-package/23)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:04pm UTC](https://forums.broadleafcommerce.com/t/what-is-a-flex-package/23 "2024-11-26T18:04:48Z")

</div>

Broadleaf envisions a flex package as a tool to optimize performance and deployment costs. It provides you different methods of structuring and deploying your application based on your specific needs. More information ca…

---

## [How can I write tests against my custom code?](https://forums.broadleafcommerce.com/t/how-can-i-write-tests-against-my-custom-code/22)

<div class="topic-metadata">

**Author:** [@broadleaf-moderator](https://forums.broadleafcommerce.com/u/broadleaf-moderator)\
**Replies:** 0\
**Last updated:** [November 26, 2024, 6:04pm UTC](https://forums.broadleafcommerce.com/t/how-can-i-write-tests-against-my-custom-code/22 "2024-11-26T18:04:05Z")

</div>

Broadleaf provides its own internal tests via java jars: Broadleaf Dev Central. Here you can find many examples of tests to use as starting points. Broadleaf also has a public Github repo that has examples of extensibil…
