How do you achieve delivery guarantee?

Pavel5 years ago

As i looked through some protocols (Wialon, Galileo), when you receive message you immediatly reposnse that you've received message (ExtendedObjectDecoder.decode). Consequently if jvm dies after this repsone, we didn't save any message to database and device will not send it us again, so the message is lost. Correct me if I'm wrong.

Anton Tananaev5 years ago

Correct, but usually losing a single message is not a critical issue.

Peter Flower5 years ago

Why jvm would die?

Pavel5 years ago

Why not? It's a usal process in your OS, which can be killed. Or you can get OOM or any other problems like DB connection problems. And you loose your data, if you need a delivery guarantee this way to handle message is incorrect.