How can I tell if my program is not entitled to publish to a topic?
Most AMPS applications are designed for maximum throughput, which includes carefully testing entitlements for publishers and subscribers before deployment and minimizing the amount of work that clients do when publishing a message. However, this also means that it's rare for publishes to fail, and a failure in publication usually represents a critical error.
Managing Acknowledgements
When the topic being published to uses a transaction log, AMPS optimizes the acknowledgement messages by conflating the acknowledgements. This means that, rather than acknowledging every message when publishes succeed, AMPS acknowledges multiple publishes at a time.
When the topic being published to does not use a transaction log, requesting acknowledgements for a publish means that AMPS returns an acknowledgement message for each publish, which consumes both network and processing resources. 60East recommends carefully planning which messages require acknowledgement.
Consider whether failure acknowledgements are required for your application, and whether each message requires an acknowledgement, or whether your application can request acknowledgement on the first message to a topic, or request a message at a set interval (for example, every 1000 messages).
In current versions of the AMPS Client, you can register a FailedWriteHandler
to receive information about messages that could not be published, including entitlement failures. This is the most convenient way to be notified of errors, and is the recommended approach.
Last updated