SimpleExternalRabbitMQ
This server-side API class provides methods to generate and send messages to an external queue based on RabbitMQ.
getErrors()
Use this method to return error messages if an error occurred while sending the messages.
Return:
Type | Description |
---|---|
Array of Strings | This method returns the error values. |
Example:
getErrors()
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');
const payload = {
userIDs: [2344, 7444],
message: "Hello!"
}
ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());
publishMessage()
Use this method to send a message to a selected queue.
caution
The maximum message length is 26000 characters.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
routingKey | String | Y | N |
payload | String | Y | N |
options | Object | N | N |
Set of fields for options parameter
Field | Type | Value |
---|---|---|
UserId | string | not set |
Type | string | not set |
Timestamp | string | 0001-01-01 00:00:00 |
ReplyTo | string | not set |
Priority | integer | 0 |
MessageId | string | not set |
Mandatory | boolean | false |
Immediate | boolean | false |
Headers | object | {} |
Expiration | string | not set |
Exchange | string | not set |
DeliveryMode | integer | 1 |
CorrelationId | string | not set |
ContentType | string | text/plain |
ContentEncoding | string | not set |
AppId | string | not set |
Return:
Type | Description |
---|---|
SimpleExternalRabbitMQ | This method returns an instance on which it was called. |
Example:
publishMessage()
const rabbitMq = new SimpleExternalRabbitMQ('nofication-service');
const payload = {
userIDs: [2344, 7444],
message: "Hello!"
}
ss.info(rabbitMq.publishMessage('push-notifications', JSON.stringify(payload), {ContentType: "application/json", Headers: {"X-Source": "simple"}}).getErrors());
publishMultipleMessages()
Use this method to send an array of messages to a selected queue.
caution
The maximum message length is 26000 characters.
Parameter(s):
Name | Type | Mandatory | Default value |
---|---|---|---|
routingKey | String | Y | N |
payloads | Array of Strings | Y | N |
options | Object | N | N |
Set of fields for options parameter
Field | Type | Value |
---|---|---|
UserId | string | not set |
Type | string | not set |
Timestamp | string | 0001-01-01 00:00:00 |
ReplyTo | string | not set |
Priority | integer | 0 |
MessageId | string | not set |
Mandatory | boolean | false |
Immediate | boolean | false |
Headers | object | {} |
Expiration | string | not set |
Exchange | string | not set |
DeliveryMode | integer | 1 |
CorrelationId | string | not set |
ContentType | string | text/plain |
ContentEncoding | string | not set |
AppId | string | not set |
Return:
Type | Description |
---|---|
SimpleExternalRabbitMQ | This method returns an instance on which it was called. |
Example:
publishMultipleMessages()
const rabbitMq = new SimpleExternalRabbitMQ('notification-service');
const messages = [
{
userID: 2344,
message: "Hello, Ivan"
},
{
userID: 7444,
message: "Hello, Petr"
}
];
rabbitMq.publishMultipleMessages(
'push-notifications',
messages.map(m => JSON.stringify(m)),
{
ContentType: "application/json",
Headers: {
"X-Source": "simple"
}
}
)
ss.info(rabbitMq.getErrors());