# Disconnect Non Acking Consumers

This property works in conjunction with the `maxbytes` and `maxmsgs` destination properties. In situations where consumers consume messages but do not acknowledge them, the messages are held in the server until they are confirmed. This can push the server above the set limits.

When enabled, Disconnect Non Acking Consumers causes the server to check the number and size of pending messages sent to a consumer. If the `maxbytes` or `maxmsgs` limit is reached and the consumer has not acknowledged its messages, the server discards the messages sent to the consumer and disconnects the consumer’s connection. This protects the server against applications that consume messages without ever acknowledging them.

Before enabling this property, ensure that the `maxbytes` and `maxmsgs` limits are set with reference to the `prefetch` setting, the size of the transaction (if transacted receive), or number of messages acknowledged when using client or explicit client acknowledgment mode. Otherwise the server may disconnect the consumer before it has a chance to acknowledge the messages.

When routes are deployed, all routed servers should use the same Disconnect Non Acking Consumers setting. Additionally, if `maxbytes` or `maxmsgs` is set for a global destination, the same setting should be applied on all servers. The server does not discard or disconnect a routed consumer, since disconnecting the route may impact other well-behaved applications. Servers discard and disconnect their local consumers, which other servers involved are made aware of and discard messages for those remote consumers accordingly.

This property is disabled by default.

## Classic Configuration

Disconnect non-acking consumers is set using the disconnect_non_acking_consumers parameter in the tibemsd.conf file. For example:

    disconnect_non_acking_consumers = enabled

## Administration Tool

This property cannot be set using the administration tool.

Copyright © Cloud Software Group, Inc. All rights reserved.