Broadleaf Microservices
  • v1.0.0-latest-prod

Order Services Release Notes for 2.0.3-GA

Tip
The 2.x versions are Spring Boot 3 compatible.

Requirements

  • JDK 17 is required for Broadleaf release trains 2.0.0-GA, and beyond.

  • This version now requires DataTracking 2.0.3+

Notable Changes

Automatic support for extensible Indexable entities in SearchServices

  • JpaOrderSingleIndexRequestMessageBuilder and JpaOrderFulfillmentSingleIndexRequestMessageBuilder sets the _baseClass attribute on the SingleIndexRequest.

    • If a client has extended OOB Broadleaf class like JpaOrder, then _class may hold the name of that derived type instead of the OOB Broadleaf class. _baseClass field is intended to capture the 'parent' or 'base' of get_class(), which in many cases will be the OOB Broadleaf class.

    • If set, this becomes relevant in message listener/handler components, as they are typically checking these class fields to determine whether they support processing a message. For example, consider a message with (_class = ClientOrder.class, _baseClass = Order.class), and a OrderHandler that declares support for Order.class. If the handler is configured to check for _baseClass first, then it will automatically accept this message for processing - the benefit here is that the client does not have to extend/override the OrderHandler component itself to explicitly declare support for ClientOrder.class.

Bug Fixes

  • Fixed incorrect sorting in the JpaCustomizedOrderRepository#findAllDistinctContextIds and JpaCustomizedOrderFulfillmentRepository#findAllDistinctContextIds methods that caused some of the Orders & Order fulfillments to be skipped during the full re-indexing