Added customerSegmentId
field to ContextInfo
to store a consolidated list of customer segment IDs that apply to current customer and request context.
Important: This is only hydrated and needed in Cart Operations and Catalog Browse services which use the information to build out Customer Context, Content Context, and Price Context headers sent in response to Cart, Product Details, Browse, and Search requests which these services facilitate from the commerce frontend. See those services for more details.
Updated DefaultTrackableDomainMapperMemberSupport
to also look at SuppressNotificationContext
if it’s available when determining whether change details should be compiled
If SuppressNotificationContext
is available (when @SuppressNotification
annotation is used):
If the result is evaluated to be true based on the existing IgnoredNotificationStateRepository
beans, then the value determined from SuppressNotificationContext#compileChangeDetails
takes precedence
If the result is evaluated to be false based on the existing IgnoredNotificationStateRepository
beans, meaning all of the IgnoredNotificationStateRepository
beans have compileDetails=false
, it will only use that result if at least one of the IgnoredNotificationStateRepository
beans have a non-blank message type. If none of the IgnoredNotificationStateRepository
beans have a non-blank message type, then the value determined from SuppressNotificationContext#compileChangeDetails
is used instead
Fixed JpaNotificationStateRepositoryFragment#findNotificationMembers
re-setting the entity manager flush mode to AUTO
after changing it to MANUAL
before performing its own read operation.
Instead, it now resets the flush mode to whatever it was before the method set it to MANUAL
.
This is to allow methods higher in the call stack to also set the flush mode as appropriate for their own operations without JpaNotificationStateRepositoryFragment
wiping out their change.