Broadleaf Microservices
  • v1.0.0-latest-prod

Import Consumer Release Notes



Spring Boot Upgrade

  • As of Broadleaf Release Train 2.0.0-GA, all common libraries have been upgraded to Spring Boot 3.

  • This version includes all changes up to 1.7.4-GA


  • Added error tracking ID for batch error logs


  • Clear the context currency by default after processing a batch.

    • Compliments change in MoneyCommon to support to set the default currency of a ThreadLocale object.


  • Ensured that the system currency context is initialized at the beginning of imports so that priceable entities are deserialized correctly.

    • Introduced new ImportBatchHandler#initializeContextForBatch method that is called before #handle by the BatchListener that can be used to initialize the import’s context in general.

    • The default implementation of this is provided by AbstractImportBatchHandler, which sets the currency context to match either the Application’s or Catalog’s default currency as applicable. It also sets up a base ContextInfo to be reused for persistent operations.

    • This can be overridden for specific batch handlers that have different sources of truth for currency.

  • Fixed ChangeContainer not using highest-level parent entity mapping when imports include child entities like Variants or Entity Assets.

    • This change was to ContextUtil#overrideChangeContainerForChildOfEntity specifically.


  • Update AbstractImportBatchHandler to introduce a new overloaded variant of the persist() method that further breaks down persistence requests into smaller batches of the specified size. Useful for situations where a large list of persistence requests may be submitted at once and need to be broken down.

  • Update AbstractImportBatchHandler to introduce a new failRecordAndDependentsEarly() method allowing subclasses to mark a record and its dependents as failed.

  • Introduce a new ContextUtil utility class with a overrideChangeContainerForChildOfEntity() method to allow dependent entities to override their change container to match a parent.

  • Update ConversionResponse class to have an operationType field, which should allow converters to determine operation type and return it to the caller

  • Update IdResolver and DefaultUlidIdGenerator to have a new nextId() method that simply generates a new value

  • Update RowUtils to define new constants useful for complex column value structures, and also to define new methods for processing input row maps