Automatic message-based module invocation within a transactional message
system is described. The modules can be software components, executable program
files, etc. In one embodiment, a system includes one or more queues, a trigger
store, and a trigger service. Each queue is capable of receiving messages. The
trigger store includes one or more triggers, where each trigger is associated with
a queue, and has associated therewith one or more rules, where each rule has a
condition and an action. The trigger service is designed to, upon receipt of a
message in a queue, check the condition of each rule of each trigger associated
with the queue, to determine if the message satisfies the rule's condition. If
such satisfaction occurs, then the action of the rule is performed, which can include
invocation of a module. The rules may be short-circuit rules, non-destructive rules,
and/or destructive rules, and may be checked in either a concurrent or serial manner.