Currently, aggregate supports completionSize , completionTimeout etc. Would like to add a compleionBytesize ; say if an endpoint can take a maximum of 10MB, this could be set to aggregate..completionByeSize(10*1024*1024L).
Functionally, if aggregation has at least 1 object (message or exchange) and adding the next one leads to exceeding size, it should create a new aggregate. It would not be able to guarantee that the exchange is of exact size or even Max (a message may not be broken into smaller) and may require naming it differently.