Skip to main content
Version: 1.33.0

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:

TypeDescription
Array of StringsThis method returns the error values.

Example:

getErrors()
const rabbitMq = new SimpleExternalRabbitMQ('notification-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(routingKey, payload, options)​


Use this method to send a message to a selected queue.

caution

The maximum message length is 26000 characters.

Parameter(s):

NameTypeMandatoryDefault value
routingKeyStringYN
payloadStringYN
optionsObjectNN
Set of fields for options parameter
FieldTypeValue
UserIdStringnot set
TypeStringnot set
TimestampString0001-01-01 00:00:00
ReplyToStringnot set
PriorityInteger0
MessageIdStringnot set
MandatoryBooleanfalse
ImmediateBooleanfalse
HeadersObject{}
ExpirationStringnot set
ExchangeStringnot set
DeliveryModeInteger1
CorrelationIdStringnot set
ContentTypeStringtext/plain
ContentEncodingStringnot set
AppIdStringnot set

Return:

TypeDescription
SimpleExternalRabbitMQThis 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(routingKey, payload, options)​


Use this method to send an array of messages to a selected queue.

caution

The maximum message length is 26000 characters.

Parameter(s):

NameTypeMandatoryDefault value
routingKeyStringYN
payloadsArray of StringsYN
optionsObjectNN
Set of fields for options parameter
FieldTypeValue
UserIdStringnot set
TypeStringnot set
TimestampString0001-01-01 00:00:00
ReplyToStringnot set
PriorityInteger0
MessageIdStringnot set
MandatoryBooleanfalse
ImmediateBooleanfalse
HeadersObject{}
ExpirationStringnot set
ExchangeStringnot set
DeliveryModeInteger1
CorrelationIdStringnot set
ContentTypeStringtext/plain
ContentEncodingStringnot set
AppIdStringnot set

Return:

TypeDescription
SimpleExternalRabbitMQThis 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());

testConsumerConnection(id, options)​


Use this method to create a test RabbitMQ consumer connection that will be closed after testing. The method is static, so you do not need to create a new SimpleExternalRabbitMQ object, you can call the method directly from the class as shown in the example below.

Parameter(s):

NameTypeMandatoryDefault value
idStringNN
optionsObjectNN
Set of fields for options parameter
FieldTypeValue
hostStringnot set
portIntegernot set
usernameStringnot set
passwordStringnot set
vhostStringnot set

Return:

TypeDescription
StringThe method returns the text of the error thrown as a result of the test connection, or a success message.

Example:

testConsumerConnection()
let err = SimpleExternalRabbitMQ.testConsumerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")

testProducerConnection(id, options)​


Use this method to create a test RabbitMQ producer connection that will be closed after testing. The method is static, so you do not need to create a new SimpleExternalRabbitMQ object, you can call the method directly from the class as shown in the example below.

Parameter(s):

NameTypeMandatoryDefault value
idStringNN
optionsObjectNN
Set of fields for options parameter
FieldTypeValue
hostStringnot set
portIntegernot set
usernameStringnot set
passwordStringnot set
vhostStringnot set

Return:

TypeDescription
StringThe method returns the text of the error thrown as a result of the test connection, or a success message.

Example:

testProducerConnection()
let err = SimpleExternalRabbitMQ.testProducerConnection(123123123, {username: "newlogin"})
ss.info(err ? err : "success!")