This file specifies the schema for the server properties, as well as
multiplexers, security, conflation, client queues, and thread pools.
server
All server properties
The following table lists the elements that an element of type
server can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
server-name |
push:string |
The server name is used to identify this server if running
in a cluster. If not specified, the local hostname is used.
|
0 |
1 |
max-message-size |
push:bytes |
The maximum message size in bytes. This defines the maximum
message size (including headers) that can be received. |
1 |
1 |
default-load-message-capacity |
push:bytes |
The default capacity of a load message if not explicitly
specified. If not supplied, a default of 4096 is used. |
0 |
1 |
default-delta-message-capacity |
push:bytes |
The default capacity of a delta message if not explicitly
specified. If not specified, a default of 1024 is used. |
0 |
1 |
log-message-data |
push:boolean |
Indicates whether the data part of messages is logged as
part of routine diagnostic message logging (FINE and FINEST levels). If this
is false, credentials message headers are also hidden. If a value is not
specified, a default of true is used. |
0 |
1 |
message-length-size |
push:int |
DEPRECATED: since 5.2. This value is no longer used.
|
0 |
1 |
charset |
push:string |
The default character set to use for Diffusion message
character conversions. See Java Encodings for the full list. If a value is
not specified, a default of "UTF-8" is used.
DEPRECATED: Since 5.9 - in future releases only UTF-8 will be supported.
|
0 |
1 |
multiplexers |
multiplexers |
DEPRECATED: These configuration options are retained for
backwards compatibility. Using this element causes a warning to be output in
the logs. In future, these configuration options will be removed. The
multiplexers used by Diffusion can be configured using the multiplexer
element. |
0 |
1 |
multiplexer |
multiplexer |
Properties that define the multiplexer. |
0 |
1 |
write-selectors |
write-selectors |
DEPRECATED: These configuration options are no-ops retained
for backwards compatibility. All types of selector have now been unified.
The selectors used by Diffusion can be configured using
selector-thread-pool-definition. |
0 |
1 |
security |
security |
Properties relating to security (optional).
|
0 |
1 |
conflation |
conflation |
Conflation policies and topic to policy mappings.
|
0 |
1 |
client-queues |
client-queues |
Definitions of client queues. |
1 |
1 |
connection-timeouts |
connection-timeouts |
Timeout values relating to connections. If a value is not
specified, defaults are used. |
0 |
1 |
date-formats |
date-formats |
Date and time formats. If a value is not specified, default
formats are used. |
0 |
1 |
thread-pools |
thread-pools |
Definitions of thread pools |
1 |
1 |
selector-thread-pools |
selector-thread-pools |
Definitions of thread pools |
0 |
1 |
whois |
whois |
Definition of the WhoIs lookup service. If a value is not
specified, no WhoIs service runs. |
0 |
1 |
auto-deployment |
auto-deployment |
Automatic deployment properties (optional).
|
0 |
1 |
geo-ip |
geo-ip |
Properties relating to the Geo IP lookup facility. If a
value is not specified, defaults are used. |
0 |
1 |
usr-lib |
usr-lib |
User libraries (optional). |
0 |
1 |
hooks |
hooks |
User hooks used in the server (optional)
|
0 |
1 |
fanout |
fanout |
Properties relating to fan-out (optional). If not specified
then the server will not be enabled as a fan-out secondary server.
|
0 |
1 |
multiplexers
DEPRECATED: These configuration options are retained for backwards
compatibility. Using this element causes a warning to be output in the logs. In
future, these configuration options will be removed. The multiplexers used by
Diffusion can be configured using the multiplexer element.
The following table lists the elements that an element of type
multiplexers can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
client |
push:string |
Name of the client multiplexer definition. If this is not
specified, the first multiplexer defined is used. |
0 |
1 |
multiplexer-definition |
multiplexer-definition |
Multiplexer definition. |
1 |
unbounded |
multiplexer-definition
DEPRECATED: These configuration options are retained for backwards
compatibility. Using this element causes a warning to be output in the logs. In
future, these configuration options will be removed. The multiplexers used by
Diffusion can be configured using the multiplexer element.
The following table lists the attributes that an element of type
multiplexer-definition can have:
Name |
Type |
Description |
Required |
name |
push:string |
The multiplexer name. |
true |
The following table lists the elements that an element of type
multiplexer-definition can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
size |
push:positiveInt |
This is the number of multiplexer instances that start in
readiness for clients to be assigned to. If there are going to be a large
number of users, increase this number. If a value is not specified, a
default value equal to the number of available processors is used.
|
0 |
1 |
thread-priority |
push:positiveInt |
DEPRECATED: Since 5.8. The multiplexer thread priority can
no longer be set. This configuration option has no effect, and is retained
only for backwards compatibility. |
0 |
1 |
load-balancer |
push:string |
DEPRECATED: This is the load balancer to use for for
assigning connecting clients to multiplexer instances. There are currently
two implemented load balancers, 'RoundRobin' and 'LeastClients'. If a value
is not specified, a default of 'RoundRobin' is used. In future, only the
'RoundRobin' load balancing policy will be provided. If you have found the
'LeastClients' algorithm useful, contact Push Technology Support and
reference case 11098. |
0 |
1 |
latency-warning |
push:millis |
Multiplexers are critical to the operation of Diffusion. If
there are too many clients assigned to too few multiplexer instances, there
is a possibility of message latency. This is an optional flag which can be
set to issue a warning if the multiplexer instance is taking too long in its
operational cycle (see ServerNotificationListener in the publisher API). If
this value is 0, this feature is not enabled. If this value is not supplied,
a default of 0 is used. |
0 |
1 |
max-event-queue-size |
push:positiveInt |
This specifies the maximum size of the multiplexer event
queue. This is the queue on which events from publishers are queued for
multiplexers and the default value is normally more than adequate. If this
queue fills, it can cause the publisher threads to block until they can
enqueue events and in this case it might be necessary to increase the value.
Typically, leave this value at the default of 128k. |
0 |
1 |
multiplexer
Multiplexer definition.
The following table lists the elements that an element of type
multiplexer can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
size |
push:positiveInt |
This is the number of multiplexer instances that start in
readiness for clients to be assigned to. If there are going to be a large
number of users, increase this number. If a value is not specified, a
default value equal to the number of available processors is used.
|
0 |
1 |
thread-priority |
push:positiveInt |
DEPRECATED: Since 5.8. The multiplexer thread priority can
no longer be set. This configuration option has no effect, and is retained
only for backwards compatibility. |
0 |
1 |
latency-warning |
push:millis |
The multiplexer latency warning threshold. Multiplexers are
critical to the operation of Diffusion. If there are too many clients
assigned to too few multiplexer instances, there is a possibility of message
latency. This is an optional setting which can be set to issue a warning if
the multiplexer instance is taking too long to complete its operational
cycle. If this value is not supplied, a default of 1000 (1 second) is used.
Warnings are logged to the server log and reported to the publisher
MultiplexerLatencyListener event API. |
0 |
1 |
max-event-queue-size |
push:positiveInt |
This specifies the maximum size of the multiplexer event
queue. This is the queue on which events from publishers are queued for
multiplexers and the default value is normally more than adequate. If this
queue fills, it can cause the publisher threads to block until they can
enqueue events and in this case it might be necessary to increase the value.
Typically, leave this value at the default of 128k. |
0 |
1 |
write-selectors
DEPRECATED: These configuration options are no-ops retained for
backwards compatibility. All types of selector have now been unified. The selectors
used by Diffusion can be configured using
selector-thread-pool-definition.
The following table lists the elements that an element of type
write-selectors can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
thread-priority |
push:positiveInt |
DEPRECATED: This configuration setting is a
no-op. |
0 |
1 |
size |
push:positiveNonZeroInt |
DEPRECATED: This configuration setting is a
no-op. |
0 |
1 |
timeout |
push:millis |
DEPRECATED: This configuration setting is a no-op.
|
0 |
1 |
load-balancer |
push:string |
DEPRECATED: This configuration setting is a
no-op. |
0 |
1 |
queue-size |
push:positiveNonZeroInt |
DEPRECATED: This configuration setting is a no-op.
|
0 |
1 |
hooks
User hooks used in the server.
The following table lists the elements that an element of type
hooks can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
startup-hook |
push:string |
This is the class name of a class that implements the
interface com.pushtechnology.diffusion.api.publisher.ServerStartupHook. If
specified, the hook is instantiated and the serverStarting method called
when the server is starting, before the loading of publishers.
|
0 |
1 |
shutdown-hook |
push:string |
This is the class name of a class that implements the
interface com.pushtechnology.diffusion.api.publisher.ServerShutdownHook. If
specified, the hook is instantiated and the serverStopping method called
when the server is stopping. |
0 |
1 |
security
Server security properties.
The following table lists the elements that an element of type
security can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
authorisation-handler-class |
push:string |
This is the full name of a class, on the classpath, that
implements the AuthorisationHandler interface in the Java publisher API. If
specified, the handler is instantiated when the server starts and is called
to authorize client connections, subscriptions, and fetch requests.
|
0 |
1 |
authentication-handlers |
authentication-handlers |
|
0 |
1 |
authentication-handlers
Authentication handlers, in order of decreasing precedence. The
authentication handlers are called to authenticate new connections and changes to
the principal associated with a session. Authentication handlers are configured in
precedence order. Authentication succeeds if a handler returns "allow" and all
higher precedence handlers (earlier in the order) return "abstain". Authentication
fails if a handler returns "deny" and all higher precedence handlers return
"abstain". If all authentication handlers return "abstain", the request is denied.
After the outcome is known, the server might choose not to call the remaining
handlers.
The following table lists the elements that an element of type
authentication-handlers can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
authentication-handler |
server-authentication-handler |
An authentication handler hosted by the server.
|
0 |
unbounded |
control-authentication-handler |
control-authentication-handler |
An authentication handler registered by a client.
|
0 |
unbounded |
system-authentication-handler |
system-authentication-handler |
An authentication handler that uses the configured system
authentication store to validate principals and to define an action for
anonymous logins. The XSD does not prevent you from configuring the
system authentication multiple times. However, the Diffusion server
restricts this and will not start if you define the system
authentication handler more than once. |
0 |
unbounded |
server-authentication-handler
An authentication handler hosted by the server. The handler is
instantiated when the server starts.
The following table lists the attributes that an element of type
server-authentication-handler can have:
Name |
Type |
Description |
Required |
class |
push:string |
The class attribute specifies the fully qualified name of a
handler implementation class that implements the
com.pushtechnology.diffusion.client.security.authentication.AuthenticationHandler
interface. The class must be available on the classpath. |
true |
system-authentication-handler
The system authentication handler uses the configured system
authentication store to validate principals and to define an action for anonymous
logins. If the system handler is specified then it will check if a principal is
specified in the store and if so will validate its credentials against the store.
The store may also specify additional assigned roles to be granted to a principal.
If a principal is not specified in the store then the handler will abstain. The
store may indicate whether to allow, deny or abstain for anonymous logins.
control-authentication-handler
Client sessions register control authentication handlers using an
identifying name. A <control-authentication-handler> must be configured with a
matching handler-name. Configure at most one <control-authentication-handler>
for a handler-name.
The following table lists the attributes that an element of type
control-authentication-handler can have:
Name |
Type |
Description |
Required |
handler-name |
push:string |
The handler name attribute must match the identifying name used
by the client session to register a control authentication handler.
|
true |
conflation
Conflation policies and topic to policy mappings.
The following table lists the elements that an element of type
conflation can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
default-conflation-policy |
push:string |
The default conflation policy. This specifies a conflation
policy that is used for any topics that do not have explicit conflation
policy mappings defined. If this is not specified, conflation does not occur
for topics that do not have a policy mapping defined. If this value is
specified, it must be the name of a defined policy. |
0 |
1 |
conflation-policy |
conflation-policy |
Conflation policy. |
0 |
unbounded |
topic-conflation |
topic-conflation |
A mapping between a topic (or topic selector pattern) and a
policy. |
0 |
unbounded |
conflation-policy
Conflation policy.
The following table lists the attributes that an element of type
conflation-policy can have:
Name |
Type |
Description |
Required |
name |
push:string |
The conflation policy name. |
true |
The following table lists the elements that an element of type
conflation-policy can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
mode |
push:string |
The conflation mode. This can have the value 'replace' or
'append'. If a value is not specified, a default of 'replace' is assumed.
The value 'replace' means that when a matching message is found, the message
is replaced by the new (or merged) message in its current queue position.
The value 'append' means that when a matching message is found, the message
is removed from its current queue position and the new (or merged) message
is appended to the end of the queue. This option preserves message ordering
but there is the danger that messages are constantly sent to the end of the
queue. |
0 |
1 |
matcher |
push:string |
The full class name of a message matcher of type
com.pushtechnology.diffusion.api.conflation.MessageMatcher. If a class is
not supplied, a default matcher that matches by topic name is used.
|
0 |
1 |
merger |
push:string |
The full class name of a message merger of type
com.pushtechnology.diffusion.api.conflation.MessageMerger. If a class is not
supplied, no merging with the new message occurs. The latest message either
replaces the existing one or the existing one is removed and the new one
appended to the end of the queue depending upon the mode. The default
merging behavior is suitable for single value topics, but not for any topics
that have a complex structure, such as record topics. If the messages being
conflated are delta messages, information can be lost when intermediate
deltas are discarded in favor of the latest delta
message. |
0 |
1 |
topic-conflation
A mapping between a topic (or topic selector pattern) and conflation
policy.
The following table lists the elements that an element of type
topic-conflation can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
topic |
push:string |
The name of a topic or a topic selector pattern that
indicates the topic or topics that the specified conflation policy is
applied to. |
1 |
1 |
policy |
push:string |
The name of a configured conflation policy that is applied
to the specified topic or topics. |
1 |
1 |
client-queues
Client queue definitions.
The following table lists the elements that an element of type
client-queues can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
default-queue-definition |
push:string |
The name of the queue definition to use by default.
Connectors that do not explicitly specify a queue definition use the one
specified here. |
1 |
1 |
queue-definition |
queue-definition |
Queue definition. |
1 |
unbounded |
queue-definition
This defines the properties of a client queue.
The following table lists the attributes that an element of type
queue-definition can have:
Name |
Type |
Description |
Required |
name |
push:string |
The queue definition name. |
true |
The following table lists the elements that an element of type
queue-definition can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
max-depth |
push:positiveInt |
The maximum depth of the queue. If the number of messages
queued for a client exceeds this number, the server disconnects the client.
|
1 |
1 |
conflates |
push:boolean |
Specifies whether conflation is applied to all clients using
this queue definition. If this value is not specified, conflation is not
applied by default. |
0 |
1 |
upper-threshold |
push:percent |
This specifies a percentage of the maximum queue size and if
this value is reached then any listeners (see ClientListener in the
publisher API) are notified. Notification occurs only once and does not
occur again until the queue has returned to the lower threshold. If this
value is not specified, no upper limit notification occurs.
|
0 |
1 |
lower-threshold |
push:percent |
This specifies a percentage of the maximum queue size and
indicates the level at which listeners (see ClientListener in the publisher
API) are notified after an upper limit notification has occurred and the
queue size has dropped back to the specified lower limit. If this value is
not specified, no lower limit notification occurs. |
0 |
1 |
auto-fragment |
push:boolean |
DEPRECATED : since 5.1.6. Topic message fragmentation has been
removed. This setting has no effect. |
0 |
1 |
connection-timeouts
Connection-related timeouts.
The following table lists the elements that an element of type
connection-timeouts can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
write-timeout |
push:millis |
The write timeout in milliseconds for blocking write
operations.
Most write operations are non-blocking and are not affected by
this timeout. Blocking writes include connection responses to new clients,
and HTTP responses to web server requests.
If this value is not specified, a default of 2 seconds is used.
If this exceeds one hour (3600000ms) a warning will be logged and the
time-out will be set to one hour.
|
0 |
1 |
connection-timeout |
push:millis |
The time in milliseconds allowed for a connection to complete
its handshake processing, including the time taken to call any configured
authentication handlers and look up location details.
If this value is not specified, a default of 2 seconds is used.
If this exceeds one hour (3600000ms) a warning will be logged and the time-out will be set to one
hour. |
0 |
1 |
thread-pools
Thread pools.
The following table lists the elements that an element of type
thread-pools can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
inbound |
push:string |
Name of the inbound thread pool definition.
|
1 |
1 |
outbound |
push:string |
DEPRECATED : This property is no longer used.
|
0 |
1 |
background-thread-size |
push:int |
Number of threads to use for the background thread pool. If
a value is not specified, a default of 10 is used. |
0 |
1 |
thread-pool-definition |
thread-pool-definition |
Thread pool definition. |
1 |
unbounded |
thread-pool-definition
Thread pool definition.
The following table lists the attributes that an element of type
thread-pool-definition can have:
Name |
Type |
Description |
Required |
name |
push:string |
Name of the thread pool definition. |
true |
The following table lists the elements that an element of type
thread-pool-definition can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
core-size |
push:positiveInt |
The core number of threads to have running in the thread
pool. Whenever a thread is required a new thread is created until this
number is reached even if there are idle threads already in the pool.
|
1 |
1 |
max-size |
push:positiveInt |
The maximum number of threads that can be created in the
thread pool before tasks are queued. Such threads are released immediately
after execution. If not set, the value defaults to the core-size.
|
0 |
1 |
queue-size |
push:positiveInt |
The thread pool queue size. When the max-size is reached,
tasks are queued. If the value is 0, the queue is unbounded. If the value is
not 0, it must be at least 10. |
1 |
1 |
keep-alive |
push:millis |
The time to keep inactive threads alive for. This does not
apply to core threads. If this value is not specified, a default of 0 is
used. |
0 |
1 |
priority |
push:positiveInt |
DEPRECATED: Since 5.8. The thread priority can no longer be
set. This configuration option has no effect, and is retained only for
backwards compatibility. |
0 |
1 |
thread-pool-listener |
thread-pool-listener |
DEPRECATED: Since 5.8 configuration of thread pool listeners is not supported
|
0 |
1 |
rejection-handler-class |
push:string |
The name of a class implementing the
ThreadPoolRejectionHandler interface which is called if a task cannot be
executed by the Thread Pool. If this value is not specified, a default
rejection policy is used so that rejected tasks are executed in the calling
thread. The default rejection policy is implemented by the class
com.pushtechnology.diffusion.api.threads.ThreadService.CallerRunsRejectionPolicy.
A thread is rejected if all the threads are in use and the queue is full.
|
0 |
1 |
thread-pool-listener
Thread pool listener details.
The following table lists the elements that an element of type
thread-pool-listener can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
queue-notification-handler-class |
push:string |
The name of a class implementing the
ThreadPoolNotificationHandler interface which is instantiated to handle
notifications on the thread pool. |
1 |
1 |
queue-upper-threshold |
push:percent |
The size of the thread pool queue at which the notification
handler is called on the queueUpperThresholdReached method. The method is
called once only until the queue size drops below the specified lower
threshold. |
1 |
1 |
queue-lower-threshold |
push:percent |
The size of the thread pool queue at which the notification
handler is called on the queueLowerThresholdReached method if the upper
threshold has previously been breached. |
1 |
1 |
selector-thread-pools
Thread pools.
The following table lists the elements that an element of type
selector-thread-pools can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
default |
push:string |
Name of the default selector thread pool definition.
|
0 |
1 |
selector-thread-pool-definition |
selector-thread-pool-definition |
Selector thread pool definition. |
1 |
unbounded |
selector-thread-pool-definition
Selector thread pool definition.
The following table lists the attributes that an element of type
selector-thread-pool-definition can have:
Name |
Type |
Description |
Required |
name |
push:string |
Name of the selector thread pool definition. |
true |
The following table lists the elements that an element of type
selector-thread-pool-definition can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
size |
push:positiveInt |
The number of selector threads to have running in the thread
pool. The number of selector threads created is the maximum of the value
defined here and the number of acceptors defined in the Connectors.xml file.
This number is fixed and does not change at runtime. |
0 |
1 |
whois
WhoIs service details.
The following table lists the elements that an element of type
whois can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
provider |
push:string |
Name of the WhoIs provider class that must be on the
classpath and must implement the API class WhoIsProvider. If a provider is
not specified, WhoIsDefaultProvider is used. |
0 |
1 |
threads |
push:int |
The number of background threads that process WhoIs resolver
requests. If a value is not specified, a default of 2 is used. If the value
is set to 0, the service is not started. |
0 |
1 |
host |
push:string |
The hostname of a WhoIs provider that adheres to the RFC3912
WhoIs protocol. If a hostname is not specified, a default of
"whois.ripe.net" is used. |
0 |
1 |
port |
push:port |
The port number that the WhoIs provider listens on. If a
value is not specified, the normal value of 43 is used. |
0 |
1 |
whois-cache |
whois-cache |
Details of the WhoIs service cache that is used to cache
WhoIs lookup results. If a value is not specified, the default values are
used. |
0 |
1 |
whois-cache
Details of the WhoIs service cache that is used to cache WhoIs
lookup results.
The following table lists the elements that an element of type
whois-cache can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
maximum |
push:int |
The maximum size of the WhoIs cache. When the cache size
exceeds this number it is tidied. A value of 0 means the cache grows
indefinitely unless entries are removed because they have exceeded their
retention time. If a value is not specified, a default of 1000 is used.
|
0 |
1 |
retention |
push:millis |
The time for which WhoIs cache entries are retained before
being deleted. A value of 0 means entries are retained indefinitely or until
the cache reaches its maximum size. If a value is not specified, a default
of 0 is used. |
0 |
1 |
tidy-interval |
push:millis |
The interval at which the Whois cache tidier task checks if
any cache entries have passed their retention time or if the cache has
exceeded its maximum size. This is ignored if both maximum and retention are
0. If a value is not specified, a default of 1 minute is used.
|
0 |
1 |
auto-deployment
Auto deployment details.
The following table lists the elements that an element of type
auto-deployment can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
directory |
push:string |
The name of the automatic deployment directory.
|
1 |
1 |
scan-frequency |
push:millis |
The frequency at which the deployment directory is scanned
for new deployments. If a value is not specified, a default of 5 seconds is
used. |
0 |
1 |
geo-ip
GeoIP details.
The following table lists the attributes that an element of type
geo-ip can have:
Name |
Type |
Description |
Required |
enabled |
push:boolean |
Set to true to enable GeoIP lookup. This needs to be set to true
if you are going to use connection or subscription validation policies. If a
value is not specified, a default of true is used. |
false |
The following table lists the elements that an element of type
geo-ip can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
file-name |
push:string |
The name of the Maxmind GeoCityIP city file. If a value is
not specified, a default of "../data/GeoLiteCity.dat" is used.
|
0 |
1 |
usr-lib
A list of user libraries from which user code is loaded.
The following table lists the elements that an element of type
usr-lib can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
directory |
push:string |
Directory to load classes from. When the server starts, this
folder is traversed, including subdirectories and all jars or zip files
added to the class loader. |
1 |
unbounded |
fanout
Specifies fan-out connections to establish with primary servers.
Typically there is a single connection but it is possible to replicate topics from
more than one primary server as long as they do not overlap. All such connections
are automatically established when the secondary server starts and will recover as
configured.
The following table lists the elements that an element of type
fanout can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
connection |
fanout-connection |
A fan out connection. |
0 |
unbounded |
fanout-connection
Represents a fan-out connection from a secondary server to a primary
server.
The following table lists the elements that an element of type
fanout-connection can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
url |
push:string |
The connection URL which specifies the primary server to
connect to. |
1 |
1 |
principal |
push:string |
The principal used to connect to the primary server. If not
specified, an anonymous connection is assumed. |
0 |
1 |
password |
push:string |
The password to use for the connection. If not specified, no
credentials are assumed. |
0 |
1 |
retry-delay |
push:millis |
This is the time to wait after failing to connect or losing a connection
before trying to connect again. The value is specified in milliseconds. If this value is not
specified, a default of 1s is used.
|
0 |
1 |
retry-interval |
push:int |
DEPRECATED : This value is no longer used. Use retry-delay instead.
|
0 |
1 |
reconnect-timeout |
push:millis |
This is the total time in milliseconds that will be allowed to reconnect
a failed connection to the primary server. For reconnection to work the primary server
connector must have been configured to support reconnection. If this is not specified,
a value of 0 is assumed which means that reconnection will not be attempted (this
does not affect retry). If reconnection is configured and a load balancer is in use then
it must be configured for sticky routing.
|
0 |
1 |
recovery-buffer-size |
push:int |
If the primary server is configured to support reconnection, a session
established with a non-zero reconnect-timeout retains a buffer of sent messages. If
the session disconnects and reconnects, this buffer is used to re-send messages that
the server has not received. The default value is 10,000 messages.
If reconnect-timeout is 0 then this value is ignored.
|
0 |
1 |
input-buffer-size |
push:bytes |
Specifies the size of the input buffer to use for the
connection with the primary server. This is used to receive messages from
the primary server. Set this to the same size as the output buffer used at
the primary server. If not specified, maximum message size is assumed.
|
0 |
1 |
output-buffer-size |
push:bytes |
The size of the output buffer to use for the connection with
the primary server. This is used to send messages to the primary server. Set
this to the same size as the input buffer used by the primary server. If not
specified, maximum message size is assumed. |
0 |
1 |
maximum-queue-size |
push:int |
The maximum number of messages that can be queued to send to the
primary server. If this number is exceeded, the connection will be closed.
This must be sufficient to cater for messages that may be queued whilst
disconnected (awaiting reconnect). The default value is 10,000 messages.
|
0 |
1 |
connection-timeout |
push:millis |
This specifies the connection timeout value (in
milliseconds). If a value is not specified, a default of 2s is used.
|
0 |
1 |
write-timeout |
push:millis |
This specifies the write timeout value (in milliseconds). If
a value is not specified, a default of 2s is used. |
0 |
1 |
link |
fanout-link |
Specifies a link to a selection of topics at the primary
server that are to be replicated at the secondary server. |
1 |
unbounded |
fanout-link
Represents a selection of topics from the primary topic tree to be
replicated to the secondary server.
The following table lists the elements that an element of type
fanout-link can contain:
Name |
Type |
Description |
Min
occurs |
Max occurs |
selector |
push:string |
A topic selector specifying the topics to be replicated.
This must not overlap (select the same topics as) any other link within this
or any other connection configured for the secondary server.
|
1 |
1 |