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.
Message columns
Column name | Description |
---|---|
ID | |
/** db uuid for this row */
public static final String COLUMN_ID = "id";
/** hibernate version */
public static final String COLUMN_HIBERNATE_VERSION_NUMBER = "hibernate_version_number";
/** constant for field name for: contextId */
public static final String FIELD_CONTEXT_ID = "contextId";
/** constant for field name for: id */
public static final String FIELD_ID = "id";
/** microseconds since 1970 this message was sent (note this is probably unique, but not necessarily */
public static final String COLUMN_SENT_TIME_MICROS = "sentTimeMicros";
/** milliseconds that the message was attempted to be received */
public static final String COLUMN_GET_ATTEMPT_TIME_MILLIS = "getAttemptTimeMillis";
/** how many times this message has been attempted to be retrieved */
public static final String COLUMN_GET_ATTEMPT_COUNT = "getAttemptCount";
/** state of this message: IN_QUEUE, GET_ATTEMPTED, PROCESSED */
public static final String COLUMN_STATE = "state";
/** millis since 1970 that this message was successfully received */
public static final String COLUMN_GET_TIME_MILLIS = "getTimeMillis";
/** member id of user who sent the message */
public static final String COLUMN_FROM_MEMBER_ID = "fromMemberId";
/** member id of user who is receiving the message */
public static final String COLUMN_TO_MEMBER_ID = "toMemberId";
/** queue or topic name for the message */
public static final String COLUMN_QUEUE_OR_TOPIC_NAME = "queueOrTopicName";
/** message body */
public static final String COLUMN_MESSAGE_BODY = "messageBody";