Patent ID: 8448182

Claim:
A system to provide a message service, comprising: a plurality of destinations, wherein each destination of the plurality of destinations is initially set to production not paused state and operates to: receive one or more messages from one or more producers, wherein the one or more producers operate to send the one or more messages to the destinations and publish the one or more messages on the destinations; store the one or more messages in a data structure; and provide the one or more messages to one or more consumers, wherein the one or more consumers operates to at least one of receive, subscribe, and browse the one or more messages from the destinations, wherein at least one said consumer is separated from said one or more producers; and a messaging server, running on one or more microprocessors, that hosts the plurality of destinations, wherein the messaging server operates to: determine when a user issues a pause message production request; switch the state of the associated destination from production not paused state to a paused state based on the determination; receive new messages from one or more producers; determine whether every destination in the plurality of destinations is marked with the paused state; if every destination in the plurality of destinations is not marked with the paused state allow the one or more producers to attach the new messages to the applicable destinations; otherwise, stop attaching the new messages from the one or more producers on any destination in the plurality of destinations; allow in-flight work associated with the destinations to complete after the messaging server stops attaching new messages from the one or more producers on the destinations; and make one or more messages that are the result of the in-flight work available to the one or more consumers.