1. A method, comprising: reading program code from program memory and processing said program code with one or more processors to perform a method, comprising: receiving a first message having a first priority level, said first message to be delivered to a first consumer application within a software container; identifying a first link list of messages in a memory in which to store said first message, said first link list of messages linking messages of said first priority in their order of arrival to said software container, said messages of said first priority including messages to be delivered to consumer applications within said software container other than said first consumer application; representing one or more messages with a blank element in a second link list of messages in said memory, said second link list of messages linking messages of a second priority in their order of arrival to said software container, said first priority being higher than said second priority, said second link list of messages including messages to be delivered to said first consumer application and at least one of said other consumer applications within the software container; persisting said one or more messages represented by the blank element in said memory to an external database without caching said one or more messages in said memory; measuring a rate at which said messages in said memory are being requested; decreasing a number of blank elements in said memory in response to an increased rate at which said messages in said memory are being requested, said decreasing including replacing one or more blank element with the corresponding one or more messages in said memory; increasing the number of blank elements in said memory in response to a decreased rate at which said messages in said memory are being requested, said increasing including replacing one or more messages in said memory with another blank element; and, adding said first message to said first link list of messages.