Grouper has a built in messaging system which is not as robust as a messaging middleware product such as ActiveMQ or RabbitMQ.
A message is just a record in a table which has a timestamp (which determines the ordering), and other fields.
A sender can send to a queue or a topic. A queue has a receiver pulling messages. A topic will just distribute to 1 or more queues.
Receivers need to receive the message then mark it as processed when done.
Message columns
Column name | Description |
---|---|
ID | db uuid for this row |
HIBERNATE_VERSION_NUMBER | incrementing number so two updates dont occur at once (optimistic locking) |
SENT_TIME_MICROS | microseconds since 1970 this message was sent (note this is probably unique, but not necessarily |
GET_ATTEMPT_TIME_MILLIS | milliseconds that the message was attempted to be received |
GET_ATTEMPT_COUNT | how many times this message has been attempted to be retrieved |
STATE | state of this message: IN_QUEUE, GET_ATTEMPTED, PROCESSED |
GET_TIME_MILLIS | millis since 1970 that this message was successfully received |
FROM_MEMBER_ID | member id of user who sent the message |
TO_MEMBER_ID | member id of user who is receiving the message |
QUEUE_OR_TOPIC_NAME | queue or topic name for the message |
MESSAGE_BODY | message body |
See Also: