Streaming to Aerospike from JMS
Streaming from a JMS message broker to Aerospike Database Enterprise Edition relies on Aerospike's JMS inbound connector, an Aerospike Smart Client™️. This inbound connector allows you to stream messages from a JMS message broker, translates each message to an Aerospike record, and performs the corresponding insert, update, or delete for that record in Aerospike.
The inbound connector supports streaming data from one or more JMS queues/topics and persists the data in an Aerospike database. Each JMS message is converted to an Aerospike record and persisted to an Aerospike cluster. You can even write custom code to manipulate JMS messages by performing operations on them that the connector does not support natively.
An instance of a connector can consume messages from only a single JMS message broker, although it can consume messages from multiple queues and topics on the message broker. Similarly, an instance of this connector can persist data to only a single Aerospike cluster. Aerospike acknowledges records that have been written successfully.
Aerospike Database does not acknowledge messages that are not persisted. There might be cases in which Aerospike does not acknowledge a record that is persisted. It is up to the JMS message broker to resend messages that are not acknowledged.
There might be instances where messages are re-ordered on the network or across jms-inbound processes. In such instances, an older version of a record might overwrite a newer version of it in Aerospike Database.