Kbase 19586: SonicMQ: Broker.ini Parameter Definitions
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  8/8/2001 |
|
SUMMARY:
This solution lists parameters that might appear in the "Broker.ini" file used by the SonicMQ Broker. Some are read from the file during the initialization of the broker database, and some are also read at broker startup time.
Changing the values of parameters that define ports and protocols for communication does not require the Broker database to be reinitialized. For other parameters, do not change values after broker database initialization, unless the Broker is subsequently restarted after the modifications are made to the "Broker.ini" file.
EXPLANATION:
The parameter name(s) must appear in uppercase text in the "Broker.ini" file, followed by an equal sign (=), that is followed by the desired value of the parameter (for example, BROKER_NAME=<Brokername>). Certain parameters, such as the CONTROL_NUMBER parameter, should never be modified by hand in the "Broker.ini" file, unless specifically instructed to do so.
Parameter: BROKER_NAME
Default Value: SonicMQ
Description: The setting used to set a name for the broker. At
installation time, a name other than the default
can be entered.
NOTE: If you hand edit the Broker.ini file and
change the name, you must initialize the database,
because the table names created for and used by the
broker incorporate the value of BROKER_NAME.
Messages and broker settings that were stored to
the database when the old BROKER_NAME was used do
not automatically become associated with the new
broker instance.
Parameter: PORT
Default Value: 2506
Description: The port used by the main broker acceptor socket
listener. While you can use any port number in the
range allowed by your system, on UNIX systems,
the range 1-1024 is restricted to users/applications that run with root privileges.
Parameter: ENABLE_SECURITY
Default Value: true
Description: The setting that enables/disables security. If
"true", the authentication mechanism is active
for connecting clients.
NOTE: If this parameter is set to "true" and the
database was previously initialized, then it is
required to either execute the command:
java progress.message.security.InitSecurityDatabase create
or to use the database initialization script (using
only the option to initialize the security tables
provided with SonicMQ) prior to restarting the
broker. An attempt to restart the Broker without
doing so results in a database exception being
thrown.
Parameter: ENABLE_QOPSECURITY
Default Value: true
Description: The setting that enables/disables Quality of
Protection (QOP) settings on topics. Security must
be enabled for this to actually be used (for
example, ENABLE_SECURITY=true). If QOP security is
enabled and the "privacy and integrity" setting is
used, messages are encrypted. Here, even if a
non-secure connection is used (not SSL), message
content is protected.
Parameter: DEFAULT_QOP
Default Value: NONE
Description: The default Quality of Protection setting to use
when security is enabled and no specific QOP is set
for a new or existing topic. The recognized settings are "NONE", "INTEGRITY" and "PRIVACY".
Parameter: LOG_BLOCK_SIZE
Default Value: 8192 (bytes)
Description: The setting used to optimize the writing of log
events to the log file from memory. Apparently disk
controllers/drivers have their own limits when they
write data to disk (and these limits don't
necessarily match the block size of the file
system).
Experience shows there is not much of a difference
time-wise between writing 1KB and 8KB worth of log
events if the controller/driver typically writes
chunks of data in blocks up to 8KB at a time.
For most systems, a value of 8KB works quite well.
If, however, a controller/driver writes in chunks up to 4KB, for example, then resetting this
parameter to 4KB should help. The proper value for
this parameter is system/device dependent.
Parameter: MAX_LOG_FILE_SIZE
Default Value: 1000000 (bytes), for Enterprise Edition
Description: The maximum size to which the log file may grow.
NOTE: Log events are flushed to disk at certain
points (sync points) in time. When the total size
of the events being flushed to disk grows to more
than one half the maximum size of the log file, a
warning message is displayed.
At this point, the administrator can opt to either
increase the log file size or take steps to
reduce it. The reason is that it is desirable to
include log events from at least two complete synch
points in the log file to allow for proper recovery
in the event of a broker failure or unscheduled
shutdown.
Parameter: QUEUE_DELIVERY_THREADS
Default Value: 1 (one thread)
Description: The setting that determines the number of dispatch
threads that are created (and started) for the
purpose of dequequeing messages from queues.
Increasing the number of dispatch threads might
improve performance when using queues, however,
as the thread count grows, a point might be reached
where resource and lock contention can result in
performance degradation.
Setting this parameter to a value between 10 (ten)
and 15 (fifteen) has empirically shown better
overall throughput for large numbers of queues (up
to 300 queues)
Parameter: CONTROL_NUMBER
Default Value: <control code> entered at install time
Description: The setting that indicates which edition of SonicMQ
is supported and if the installation is currently
valid.
NOTE: This parameter must be present and should
never be changed manually.
Parameter: SSL_CERTIFICATE_CHAIN
Default Value: certs/serverCertChain.chain
Description: The setting that indicates location of the server
certificate chain file. It should be set relative to the installation directory of SonicMQ.
Parameter: SSL_PRIVATE_KEY
Default Value: certs/serverKey.pkcs8
Description: The setting that indicates location of the server's
Private key. It should be set relative to the
Installation directory of SonicMQ.
Parameter: SSL_PRIVATE_KEY_PASSWORD
Default Value: Pass Phrase
Description: The setting that contains the password (currently in plain text) used to access the server's private
key. Future plans possibly include storing this in
an encrypted form.
Parameter: SSL_CA_CERTIFICATES
Default Value: certs/ssleayPCACert.der
Description: The setting that indicates location
ame of
Certificate Authority (CA) certificates when
you use an interbroker configuration. Currently,
only server-side certificates are supported for
authentication (and not client certificates).
However, in an interbroker configuration, each
broker (except the configuration server), acts also
as a client of the configuration server and other
brokers in the cluster.
This additional parameter is necessary so that
brokers may authenticate themselves to/with one
another.
Parameter: SSL_CIPHER_SUITES
Default Value: null
Description: The setting that contains a comma-delimited list of
all ciphersuites supported by the broker in
priority order. For broker-client communications,
this setting should only be specified on the
broker, so that the broker dictates which
ciphersuite is used. For broker to broker
communications, the broker that initiates the
connection negotiates to the highest-priority
ciphersuite that both brokers support. If the
default value of null is used, then the first
ciphersuite on the list of supported ciphersuites
that is supported by both parties to the
communication is used. For SonicMQ, this is
currently SSL_RA_WITH_NULL_MD5.
Parameter: ENABLE_INTERBROKER
Default Value: false
Description: The setting that indicates whether the broker is
part of an InterBroker network (an interconnected
set of Brokers). If "false", then the broker is
independent.
Parameter: IB_CONFIG_SERVER
Default Value: localhost:2506
Description: The setting that specifies the host/port of the
configuration server, or master broker in an
interbroker network. The "ENABLE_INTERBROKER"
setting must be "true" for this to be applicable.
NOTE: This parameter should not be set in the
Broker.ini file used by the configuration server
Itself (at least in this release). It should only be set in the Broker.ini files of the
non-configuration brokers.
Parameter: NUM_ACCEPTORS
Default Value: none
Description: The parameter used to indicate the number of
acceptors, including the default acceptor, that are
created and used by the broker to listen for clients.
By virtue of being set, this parameter also
indicates that there is more than one acceptor
listening for clients.
No upper limit is imposed by SonicMQ on the number
of acceptors (there must be at least one acceptor,
including the default acceptor, though). However,
limits on system resources, such as file
descriptors, may dictate an upper boundary on the number of acceptors.
NOTE: For the value (n), specified for this
parameter, there must be exactly (n-1) corresponding
pairs of SOCKET_TYPE_<number> and
PORT_NUMBER_<number> entries. These entries,
together with the pair DEFAULT_SOCKET_TYPE and PORT,
define (n) acceptors.
NOTE: Numbering for additional acceptors starts at
"2" (two).
NOTE: Any additional acceptors must be defined prior
to starting the broker or after the broker has been
shut down. They cannot be added dynamically (while
the Broker is running).
NOTE: On the client side, when you create a
connection to a broker, the broker name, port, and
acceptor protocol must be specified. To establish a
connection using one of these additional acceptors,
supply the broker name, port, and protocol used
by the acceptor when you create the connection.
Parameter: SOCKET_TYPE_<n>
Default Value: tcp
Description: The protocol used by acceptor (n), where (n) is a
Number in the range from (2) to "NUM_ACCEPTORS".
Valid values are TCP, HTTP, and SSL. These
indicate the TCP/IP, HTTP and SSL/TCP/IP protocols,
respectively.
NOTE: For each "SOCKET_TYPE_<n>" entry in the
Broker.ini file, there must be a corresponding
"PORT_NUMBER_<n>" entry.
NOTE: Numbering for "SOCKET_TYPE_<n>" entries
must start with 2 (two). For example, if
"NUM_ACCEPTORS" is set to (2) in the Broker.ini
file, there should be corresponding entries of
"SOCKET_TYPE_2=<protocol>" and "PORT_NUMBER_2=<port
number>".
Parameter: PORT_NUMBER_<number>
Default Value: none
Description: The port used by additional acceptor socket listener.
The port number 2506 is traditionally reserved for
use by the default acceptor and should not be
used for an additional acceptor unless a different
port number has been specified for the default
acceptor (see the description for the "PORT"
parameter).
NOTE: Each acceptor must have a unique port number.
NOTE: On UNIX systems, ports in the range 0-1024 are
typically reserved for processes with root
privileges.
Parameter: DB_USER
Default Value: <blank>
Description: The parameter to indicate the username that the
broker uses when it connects to the database it uses.
This name is usually be determined at the time that a database is setup for the broker.
Parameter: DB_PASSWORD
Default Value: <blank>
Description: The parameter to indicate the password that the
broker uses when it connects to the database it
uses. This password is usually determined at
the time that a database is setup for the broker.
Parameter: JDBC_DRIVER
Default Value: sun.jdbc.odbc.JdbcOdbcDriver
Description: This parameter indicates which driver is to be
used to connect to and interact with the underlying
database used by the broker. The currently
supported set includes drivers for Microsoft's
SQLServer database ("sun.jdbc.odbc.JdbcOdbcDriver",
since an JDBC-ODBC bridge is required), Oracle's 8i
database ("oracle.jdbc.driver. OracleDriver"), and
the Cloudscape database ("COM.cloudscape.core.
JDBCDriver").
Parameter: DB_CONNECT
Default Value: jdbc:odbc:<data source name>
Description: The parameter used to indicate the connection URL of
the database in use by the broker. The actual
string value used for this parameter is dependent
upon the database and driver combination in use
as well as the name given the database/datasource.
Parameter: DB_PROPERTIES
Default Value: <blank>
Description: The parameter used to specify name of file that
Contains the database configuration properties.
The database configuration files provided with the
SonicMQ product are "mssqls.cfg" for SQLServer,
"orasvr8_jdbc.cfg" for Oracle 8i, and
"cloudscape_jdbc.cfg" for Cloudscape.