Skip to main content
Version: 1.31.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.
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!")