Application Development with AMPS Clients
📄️ Unique Client Naming and AMPS
Learn about unique client naming conventions in AMPS APIs, focusing on transaction logging, durable messaging, and naming strategies.
📄️ Which version of the client do I need for a specific version of AMPS?
Guide to matching AMPS server versions with compatible client library versions for feature support and compatibility.
📄️ How does an application pass credentials to AMPS?
Learn how AMPS clients handle application authentication using simple connection strings or advanced custom Authenticator interfaces.
📄️ What are the entries in a bookmark store file?
Learn about the three entry types (bookmark, discard, persisted ack) found in AMPS client bookmark store files.
📄️ Is there a way to store client state in AMPS?
Learn how to reliably store and manage persistent client state within AMPS using the SOW (State of the World) topic feature.
📄️ Should I Use TCP_NODELAY for connections to AMPS?
Learn when to use the TCP_NODELAY option for AMPS connections to balance latency and bandwidth efficiency.
📄️ Should I use Command or Message to send commands to AMPS?
Learn when to use the Command interface versus the Message interface when sending requests to AMPS for full client infrastructure support.
📄️ How do I set the CorrelationId when I publish a message?
Learn how to set the CorrelationId when publishing messages using the AMPS Command interface in Java.
📄️ Can I send commands to AMPS from inside a message handler?
Learn why you must use a separate AMPS Client to send commands within a message handler to avoid deadlocks and timeouts.
📄️ How do I use a custom Authenticator with HAClient?
Learn how to integrate a custom authenticator when using the HAClient in your application by implementing the getCurrentAuthenticator method.
📄️ What's the difference between CommandId, QueryId, and SubId?
Clarifies the roles of CommandId, QueryId, and SubId in AMPS client-server message correlation.
📄️ Do I need to use an HAClient?
Learn when to use the AMPS HAClient for automatic reconnection, failover, and durable messaging features.
📄️ What character set is supported for CorrelationID?
Correlation ID requires base64 characters only to prevent message header parse errors.
📄️ Can I add a correlation token to the header of a message?
Learn how to add and manage the CorrelationId header in AMPS messages starting from version 4.0.
📄️ How do I change the filter on a subscription?
Learn how to atomically replace an AMPS subscription filter using the subscription ID and new filter criteria.
📄️ Can a client have more than one subscription at a time?
AMPS allows a single client to maintain multiple active subscriptions simultaneously, handling overlapping messages efficiently.
📄️ Can a subscriber tell who published a message?
Learn when AMPS subscribers can see the message publisher's user ID and how to retrieve it using getUserId().
📄️ Why do messages sometimes have strange data when I'm using asynchronous processing?
Solve inconsistent data issues in AMPS asynchronous processing by creating a deep copy of the reused message object.
📄️ What character encoding is being used by the AMPS clients?
Learn about the character encoding used by AMPS clients for header fields across different protocols (amps, fix, nvfix, xml).
📄️ Why does my HAClient appear to hang when my server is down or URI is incorrect?
Resolve HAClient hanging issues during server downtime or incorrect URIs by setting timeouts or implementing a custom ServerChooser.
📄️ How can I reconnect to my AMPS server when a disconnect occurs?
Learn how the HAClient class in AMPS automatically reconnects or fails over after a disconnect for resilient messaging applications.
📄️ How can I use AMPS with a XAML application?
Find full instructions and sample code for integrating AMPS into your XAML applications.
📄️ Can I enforce unique client naming without creating a transaction log file?
Learn how to enforce unique client naming in AMPS without creating a full transaction log by enabling logging without topic capture.
📄️ How can I tell if my program is not entitled to publish to a topic?
Learn how to detect when an AMPS application fails to publish to a topic, focusing on entitlement errors and acknowledgement management.
📄️ When using the Python client, will the background thread exit when the program exits?
Learn how the AMPS Python client's background reader thread terminates gracefully upon program exit.
📄️ Do I need more than one AMPS client object in my program?
Learn when to use one versus multiple AMPS Client objects for concurrent publishes, subscriptions, and managing multiple AMPS instances.
📄️ Why does AMPS disconnect a client with a 'name in use' error?
Learn why AMPS disconnects existing clients with a 'name in use' error to ensure fast application reconnection after network issues.
📄️ In bookmark subscribes, why does EPOCH give me the same messages as MOST_RECENT?
Explains why EPOCH subscriptions may yield the same results as MOST_RECENT subscriptions in AMPS HA clients due to duplicate detection.