Hi Team,

This is a try to resolve https://wso2.org/jira/browse/MB-407.

I did a search to find out what are the unfamiliar configurations in
andes-config.xml file. We need to know them, test if they work, consider if
they are valid, remove if not relevant (specially the highlighted ones).

@Prabath,
*I also saw a config for OOM controlling. Please note. *

Below are the findings.



== Extended Configuration through config.xml ==

The config.xml contains the extended configuration information associated
with
the Qpid Java Broker.

=== The JMX Management Console Configuration ===

The management console configuration can be setup by editing the management
child element of the broker configuration. The available options are:

1. enabled
2. jmxport
3. security-enabled

Setting enabled to "true" will enable the JMX Management Console support.
And,
changing the jmxport will make it possible to connect using a different
port.
Setting the security-enabled option to "true" will make it possible to use
SASL
Authentication.

Advanced security configuration is made effective once the security-enabled
is
set to "true". Further customization is explained in the Security
Configuration
section below.

=== Connector Configuration ===

The connetor configuration element manages connections to/from the Java
Broker.
Among the various options available are:

 1. ssl
 2. qpidnio
 3. protectio
 4. bind
 5. port
 6. sslport
 7. socketReceiveBuffer
 8. socketSendBuffer
 9. processors
10. tcpNoDelay

The ssl and *protecio* elements are discussed below. The port corresponds
to the
port in which the non-secure Java Broker runs. The *sslport* corresponds to
the
port in which the secure Java Broker runs.

The *socketReceiveBuffer* and the *socketSendBuffer* sizes (in bytes) are
configured
using the respective elements. Setting *qpidnio* to "true" will setup a
multithreaded MINA socket acceptor that will make an attempt to boost the
performance by simultaneously allowing reading from and writing to a socket.

Processors represent the the number of SocketProcessors you wish to create.
And,
*bind* represents the ip-address to bind to. In addition to that, you can
enable
TCP NoDelay by setting *tcpNoDelay* to "true'.

Please note that the element transport is no longer used.

==== SSL Configuration ====

The SSL configuration can be setup by editing the connector child element's
ssl
child. The available options are:

1. enabled
2. sslOnly
3. keystorePath
4. keystorePassword

The enabled option controls whether SSL is enabled or not. Setting this to
"true" will enable SSL support. The sslOnly option will decide whether SSL
will
operate in parallel with non-SSL ports or not. The remaining options are on
setting up an SSL keystore. Please note that the keystore password is seen
in
clear text in the config.xml. Do take necessary precautions when setting
this
option.

==== Protect I/O Configuration ====

*This feature is meant for the protection of the Java Broker from running
out of*
*memory due to runnaway clients or non-responsive clients*. The protection
is
achieved by limiting the data written to or read from a pending queue. The
enabled option controls whether I/O protection is in place or not. To
enable,
set the enabled element's value to "true".

=== Security Configuration ===

There are various sub sections under the security configuration, which are:

1. principal-databases
2. access
3. jmx

More on principal-databases and jmx are discussed below. The access element
is
used to set the ACLPlugin implementation which is capable of controlling
access.
This can be set through the class element.

==== Principal Databases ====

The *principal-databases* section contains definitions of principal
databases. An
example of a principal database is a set of Base64 encoded MD5 hashes,
which is
stored on a file, which can be used for authentication via the
CRAM-MD5-Hashed
SASL authentication mechanism.

*(We have put
org.wso2.carbon.andes.authentication.andes.CarbonBasedPrincipalDatabase
here. I am not aware what it is??)*

Among various options a principal-database configuration posses are:

1. name
2. class
3. attributes

The name of the resource is identified by name. The class is the Java class
capable of handling the resource. The attribute passwordFile will have a
value
of which is the path to the password database file. An example password
database
file is ../etc/passwd, which contains plain-text password.

More information on this section can be found online at,
http://cwiki.apache.org/qpid/qpid-design-authentication.html

==== JMX Security Configuration ====

The *JMX Security* configuration is used to specify the access
restrictions, which
is written on a file (../etc/jmxremote.access is an example). The path to
this
file is specified in access. The principal-database to be used can also be
configured. Among the available options are:

1. access
2. principal-database

=== Virtual Host Configuration ===

The virtual hosts are configured through the virtualhosts element. This has
two
major subsections:

1. directory
2. virtualhost

The directory is the* path to the directory in which extended virtual host*
*configurations are present*. An example is ../etc/vitualhosts. More on the
virtual host directory is found below in the Virtual Host Directory section
below.

Under the virtualhost subsection there are various properties that can be
set
through the config.xml. They are:

1. name
2. store
3. housekeeping

The name will represent the corresponding name which recognizes the
virtualhost
in both the config.xml as well as the virtual host directory. The store is a
class that represents the type of store implemented. The housekeeping
element is
used to set the expiredMessageCheckPeriod used by housekeeping timers.

=== Advanced Configuration ===

The Advanced Configuration section is not intended to be customized by a
user as
it might lead the broker into an unstable state. For more information please
contact the developer list.

== The Virtual Hosts Directory ==

TBD

Thanks

-- 
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to