KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > mx4j > remote > MX4JRemoteConstants


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package mx4j.remote;
10
11
12 /**
13  * @version $Revision: 1.15 $
14  */

15 public interface MX4JRemoteConstants
16 {
17    /**
18     * A vertical bar '|' as mandated by the spec
19     */

20    public static final String JavaDoc PROVIDER_PACKAGES_SEPARATOR = "|";
21    /**
22     * MX4J provider packages list for JMXConnector and JMXConnectorServer factories
23     */

24    public static final String JavaDoc PROVIDER_PACKAGES = "mx4j.remote.provider" + PROVIDER_PACKAGES_SEPARATOR + "mx4j.tools.remote.provider";
25    /**
26     * The string 'ClientProvider' as mandated by the spec
27     */

28    public static final String JavaDoc CLIENT_PROVIDER_CLASS = "ClientProvider";
29    /**
30     * The string 'ServerProvider' as mandated by the spec
31     */

32    public static final String JavaDoc SERVER_PROVIDER_CLASS = "ServerProvider";
33
34
35    /**
36     * The key that specifies resolver packages, very much like
37     * {@link javax.management.remote.JMXConnectorFactory#PROTOCOL_PROVIDER_PACKAGES}
38     */

39    public static final String JavaDoc PROTOCOL_RESOLVER_PACKAGES = "mx4j.remote.resolver.pkgs";
40    /**
41     * A vertical bar '|'
42     */

43    public static final String JavaDoc RESOLVER_PACKAGES_SEPARATOR = PROVIDER_PACKAGES_SEPARATOR;
44    /**
45     * MX4J provider packages list for {@link mx4j.remote.ConnectionResolver} subclasses
46     */

47    public static final String JavaDoc RESOLVER_PACKAGES = "mx4j.remote.resolver" + RESOLVER_PACKAGES_SEPARATOR + "mx4j.tools.remote.resolver";
48    /**
49     * The string 'Resolver'
50     */

51    public static final String JavaDoc RESOLVER_CLASS = "Resolver";
52
53    /**
54     * The reference implementation uses this property to specify the notification fetch timeout (in ms).
55     * MX4J will use the same for compatibility. DO NOT CHANGE IT unless the reference implementation changes it.
56     */

57    public static final String JavaDoc FETCH_NOTIFICATIONS_TIMEOUT = "jmx.remote.x.client.fetch.timeout";
58    /**
59     * The reference implementation uses this property to specify the maximum number of notification to fetch.
60     * MX4J will use the same for compatibility. DO NOT CHANGE IT unless the reference implementation changes it.
61     */

62    public static final String JavaDoc FETCH_NOTIFICATIONS_MAX_NUMBER = "jmx.remote.x.client.max.notifications";
63    /**
64     * The reference implementation uses this property to specify the notification buffer size.
65     * MX4J will use the same for compatibility. DO NOT CHANGE IT unless the reference implementation changes it.
66     */

67    public static final String JavaDoc NOTIFICATION_BUFFER_CAPACITY = "jmx.remote.x.buffer.size";
68    /**
69     * MX4J's implementation uses this property to specify the distance between the lowest expected notification
70     * sequence number (sent by the client via fetchNotifications()) and the minimum sequence number of the
71     * notification buffer. When this difference is greater than the value of this property, old notifications
72     * are eliminated from the notification buffer
73     */

74    public static final String JavaDoc NOTIFICATION_PURGE_DISTANCE = "jmx.remote.x.notification.purge.distance";
75    /**
76     * MX4J's implementation uses this property to specify the amount of time (in ms) the client should sleep
77     * between notification fetches. A value of 0 means there will be no sleep (fetches will be done one
78     * after the other).
79     */

80    public static final String JavaDoc FETCH_NOTIFICATIONS_SLEEP = "jmx.remote.x.notification.fetch.sleep";
81
82    /**
83     * MX4J's implementation uses this property to specify the period (in ms) of the heartbeat pulse for
84     * {@link javax.management.remote.JMXConnector JMXConnectors} that use heartbeat to check if the
85     * connection with {@link javax.management.remote.JMXConnectorServer JMXConnectorServers} is still alive.
86     *
87     * @see #CONNECTION_HEARTBEAT_RETRIES
88     */

89    public static final String JavaDoc CONNECTION_HEARTBEAT_PERIOD = "jmx.remote.x.connection.heartbeat.period";
90
91    /**
92     * MX4J's implementation uses this property to specify the number of retries of heartbeat pulses before
93     * declaring the connection between a {@link javax.management.remote.JMXConnector JMXConnector} and a
94     * {@link javax.management.remote.JMXConnectorServer JMXConnectorServer} failed, at which a
95     * {@link javax.management.remote.JMXConnectionNotification notification failed} is emitted.
96     *
97     * @see #CONNECTION_HEARTBEAT_PERIOD
98     */

99    public static final String JavaDoc CONNECTION_HEARTBEAT_RETRIES = "jmx.remote.x.connection.heartbeat.retries";
100
101    /**
102     * MX4J's implementation uses this property to specify the maximum notification queue size
103     * on client size. If set to 0, or not present, the queue will have no limit.
104     * Specify this property when the server side is generating notifications at a fast rate,
105     * but clients can process them only at a slower rate. In this case notifications will queue
106     * up on client side, and if no limit is given to the queue, there is a potential risk of
107     * an OutOfMemoryError.
108     */

109    public static final String JavaDoc NOTIFICATION_QUEUE_CAPACITY = "jmx.remote.x.queue.size";
110
111    /**
112     * @deprecated Use {@link mx4j.tools.remote.http.HTTPConnectorServer#WEB_CONTAINER_CONFIGURATION} instead
113     */

114    public static final String JavaDoc HTTP_SERVER_CONFIGURATION = "jmx.remote.x.http.server.configuration";
115 }
116
Popular Tags