DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • MuleSoft MCP and A2A in Production: What 17 Recipes Reveal
  • MuleSoft IDP: Enhancing Efficiency and Accuracy in Data Extraction
  • From AI Chaos to Control: Building Enterprise-Grade LLM Gateways With MuleSoft Anypoint
  • Revolutionizing Scaled Agile Frameworks with AI, MuleSoft, and AWS: An Insider’s Perspective

Trending

  • Build a GitHub Slack Bot With AWS Bedrock and MCP, Part 2
  • OpenAPI From Code With Spring and Java: A Recipe for Your CI
  • Testing AI-Infused Apps: A Dual-Layer Framework for AI Quality Assurance
  • Why Round-Robin Won't Save You: Load Balancing Challenges in Data Streaming Services With Heterogeneous Traffic
  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Implementing Aggregators Module With MuleSoft

Implementing Aggregators Module With MuleSoft

Pick what you need, then settle in to watch a video.

By 
Jitendra Bafna user avatar
Jitendra Bafna
·
Dec. 19, 20 · Tutorial
Likes (4)
Comment
Save
Tweet
Share
9.1K Views

Join the DZone community and get the full member experience.

Join For Free

Introduction

The MuleSoft Aggregators module provides three types of Aggregators, which collect and release data depending on the conditions configured. The aggregator module will receive the data and, depending on the expression, it will extract the data and send it for aggregation and release or complete the aggregation.

Common Configuration

Object Store

All information related to Aggregators is stored in Object Store and it can persistent as well as transient (In-Memory) Object Store.

The Persistent Object Store is reliable, and data can persist even if the application restarts, but it is slower.

The In-Memory Object Store is faster, but data cannot be recovered if the application restarts.

Content

The expression that defines what to aggregate. The result of the evaluation is the value stored in the aggregation.

Type of Aggregators

  • Size-Based Aggregator
  • Time-Based Aggregator
  • Group-Based Aggregator

The Size-Based Aggregator aggregates the data until predefined size limits reached, executing routes and listeners.

  • Max Size is the total number of the elements to be aggregated before we mark aggregation to be complete or release.
  • Timeout is the maximum time to wait for aggregation to complete or release.

Here is the video tutorial explaining the Size-Based Aggregator.


Time-Based Aggregator aggregates the data until the time period is completed, executing routes and listeners.

  • Period is the maximum time to wait before aggregation to complete or release.

Here is the video tutorial explaining the Time-Based Aggregator.


Group-Based Aggregator aggregates in the group according to GroupId, executing routes and listeners.

  • Group Id is the expression to be evaluated for every new message received in order to get the ID for the group where it should be aggregated. 
  • Group Size is the maximum size to assign to the group with the group ID resolved.
  • Eviction Time is the time to remember a group ID once it was completed or timed out (0 means: don’t remember, -1: remember forever).

Here is the video tutorial explaining the Group-Based Aggregator.

Now, you know how to implement the Aggregator module with MuleSoft.

MuleSoft

Opinions expressed by DZone contributors are their own.

Related

  • MuleSoft MCP and A2A in Production: What 17 Recipes Reveal
  • MuleSoft IDP: Enhancing Efficiency and Accuracy in Data Extraction
  • From AI Chaos to Control: Building Enterprise-Grade LLM Gateways With MuleSoft Anypoint
  • Revolutionizing Scaled Agile Frameworks with AI, MuleSoft, and AWS: An Insider’s Perspective

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook