blob: 53f4fbc8d6c9079b11e4fa59fd657ef6def02e27 [file] [log] [blame]
---
title: Subscription Properties
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.
When a client registers interest for a region, if the connection pool does not already have a subscription channel, the connection pool sends a message to the server locator, and the server locator chooses servers to host the queue and return those server names to the client. The client then contacts the chosen servers and asks them to create the queue.
The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see [Implementing Durable Client/Server Messaging](/serverman/developing/events/implementing_durable_client_server_messaging.html).
## <a id="subscription-properties__section_294BD33FBDC6454FAD9C5118829EBBA4" class="no-quick-link"></a>Requesting a Subscription Region Queue
The client-to-server locator request is a short lived TCP request. The client sends a message with:
- The client ID.
- (Optional) target server group.
- Number of redundant copies.
- Servers to exclude from the results. This list is used if the client cannot connect to a server and needs to request a new one.
The server locator responds with a list of servers. The client is responsible for contacting the primary and secondaries and asking them to host the queue.
For durable subscriptions, the server locator must be able to locate the servers that host the queues for the durable client. When a durable client sends a request, the server locator queries all the available servers to see if they are hosting the subscription region queue for the durable client. If the server is located, the client is connected to the server hosting the subscription region queue.