[jboss-cvs] JBoss Messaging SVN: r4177 - trunk/docs/userguide/en/modules.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 13 06:13:25 EDT 2008
Author: ataylor
Date: 2008-05-13 06:13:24 -0400 (Tue, 13 May 2008)
New Revision: 4177
Modified:
trunk/docs/userguide/en/modules/configuration.xml
Log:
added more configuration documentation
Modified: trunk/docs/userguide/en/modules/configuration.xml
===================================================================
--- trunk/docs/userguide/en/modules/configuration.xml 2008-05-13 09:35:49 UTC (rev 4176)
+++ trunk/docs/userguide/en/modules/configuration.xml 2008-05-13 10:13:24 UTC (rev 4177)
@@ -131,72 +131,103 @@
<itemizedlist>
<listitem>
<para>strict-tck</para>
+ <para>Whether or not this server should adhere to strick tck</para>
</listitem>
<listitem>
<para>clustered</para>
+ <para>Whether or not this server is clustered, currently disabled</para>
</listitem>
<listitem>
<para>scheduled-executor-max-pool-size</para>
+ <para>The maximum number of threads available for scheduling delivery of scheduled messages</para>
</listitem>
<listitem>
<para>require-destinations</para>
+ <para>Whether or not a destination needs to pre-exist when delivering a message</para>
</listitem>
<listitem>
<para>remoting-transport</para>
+ <para>Type of transport to use, currently there is only TCP</para>
</listitem>
<listitem>
<para>remoting-bind-address</para>
+ <para>The port that JBM will bind to.</para>
</listitem>
<listitem>
<para>remoting-host</para>
+ <para>The name of the host that JBM will bind to</para>
</listitem>
<listitem>
<para>remoting-timeout</para>
+ <para>The timeout setting for both client and server connections</para>
</listitem>
<listitem>
<para>remoting-disable-invm</para>
+ <para>not used at present</para>
</listitem>
<listitem>
<para>remoting-tcp-nodelay</para>
+ <para>Sets the TCP nodelay setting when a TCP transport is used</para>
</listitem>
<listitem>
<para>remoting-tcp-receive-buffer-size</para>
+ <para>sets the TCP receive buffer size, -1 will set it to the value that the OS hints at to use. This is
+ only used when TCP transport is configured</para>
</listitem>
<listitem>
<para>remoting-tcp-send-buffer-size</para>
+ <para>sets the TCP send buffer size, -1 will set it to the value that the OS hints at to use. This is
+ only used when TCP transport is configured</para>
</listitem>
<listitem>
+ <para>remoting-enable-ssl</para>
+ <para>Whether SSL is enabled for this server. If this is true then next 4 SSL properties need to be set</para>
+ </listitem>
+ <listitem>
<para>remoting-ssl-keystore-path>messaging.keystore</para>
+ <para>The location of the SSL keystore</para>
</listitem>
<listitem>
<para>remoting-ssl-keystore-password</para>
+ <para>The password for the SSL keystore</para>
</listitem>
<listitem>
<para>remoting-ssl-truststore-path</para>
+ <para>The location of the SSL truststore</para>
</listitem>
<listitem>
<para>remoting-ssl-truststore-password</para>
+ <para>The password for the truststore</para>
</listitem>
<listitem>
<para>bindings-directory</para>
+ <para>The directory to create the bindings persistence files in.</para>
</listitem>
<listitem>
<para>create-bindings-dir</para>
+ <para>Whether to create the bindings directory if it doesnt exist.</para>
</listitem>
<listitem>
<para>journal-type</para>
+ <para>The type of journal to use, valid configurations are 'asyncio','nio' and 'jdbc'. refere to the
+ 'The journal based persistence approach' chapter for more detailed information</para>
</listitem>
<listitem>
<para>journal-sync</para>
+ <para>Whether or not to allow the synch to disk on commit and rollback. false will only write to the OS buffers
+ and lets the OS deal with synching</para>
</listitem>
<listitem>
<para>journal-file-size</para>
+ <para>The size of the data file to create, these files are pre-allocated and filled as needed.</para>
</listitem>
<listitem>
<para>journal-min-files</para>
+ <para>Minimum number of created files to start with</para>
</listitem>
<listitem>
<para>journal-task-period</para>
+ <para>How frequently to reclaim unused journal data files, in milliseconds.</para>
</listitem>
</itemizedlist>
</section>
@@ -612,4 +643,205 @@
</listitem>
</itemizedlist>
</section>
+ <section id="configuration.beans">
+ <title>The beans deployment file</title>
+ <para>This beans deployment file, usually <literal>jbm-beans.xml</literal> or <literal>jbm-standalone-beans.xml</literal>,
+ is used by the JBoss Microcontainer to bootstrap all the components needed to run a JBoss Messaging Server. For
+ full documentation on the MicroContainer go to <ulink url="http://www.jboss.org/jbossmc/">http://www.jboss.org/jbossmc/</ulink>.
+ For the purposes of configuring JBM it is sufficient to know that the implementation details of pluggable
+ components are configured here.
+ </para>
+ <para>The following explains each component in more detail</para>
+ <itemizedlist>
+ <listitem>
+ <para>The naming Service</para>
+ <para>This is only found in the standalone version of the beans file. When running within the App Server this
+ is not needed since it is available as its own service. This also where you can change the ports used.</para>
+ <para>It is possible to replace this with any Naming Service however only the Jboss naming provider has been tested.
+ If you do provide your own implementation remember to edit the file jndi.properties</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>
+
+ <bean name="Main" class="org.jnp.server.Main">
+ <property name="namingInfo"><inject bean="Naming"/> </property>
+ <property name="port">1099</property>
+ <property name="bindAddress"><inject bean="Configuration" property="host"/></property>
+ <property name="rmiPort">1098</property>
+ <property name="rmiBindAddress"><inject bean="Configuration" property="host"/></property>
+ </bean>
+ ]]>
+ </programlisting>
+ </listitem>
+ <listitem>
+ <para>The Configuration component</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="Configuration"
+ class="org.jboss.messaging.core.config.impl.FileConfiguration"/>
+ ]]>
+ </programlisting>
+ <para>The Configuration component is used to configure the JBM Server and transports. The default implementation,
+ <literal>FileConfiguration</literal> reads in the configuration from the file <literal>jbm-configuration.xml</literal>.
+ To replace this component your class must implement following interface: </para>
+ <programlisting>org.jboss.messaging.core.config.Configuration</programlisting>
+ </listitem>
+ <listitem>
+ <para>The Security Manager</para>
+ <para>There are 2 Security Manager implementations available to use. In standalone the default is the following</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="JBMSecurityManager"
+ class="org.jboss.messaging.core.security.impl.JBMSecurityManagerImpl">
+ <constructor>
+ <parameter>false</parameter>
+ </constructor>
+ </bean>
+ ]]>
+ </programlisting>
+ <para>This uses a simple security manager that also needs the following bean deployed which will read the security
+ configuration from the file <literal>jbm-security.xml</literal></para>
+ <programlisting>
+ <![CDATA[
+ <bean name="SecurityManagerDeployer"
+ class="org.jboss.messaging.core.deployers.impl.SecurityManagerDeployer">
+ <property name="jbmSecurityManager">
+ <inject bean="JBMSecurityManager"/>
+ </property>
+ <property name="messagingServer">
+ <inject bean="MessagingServer"/>
+ </property>
+ </bean>
+ ]]>
+ </programlisting>
+ <para>The second is used when deployed in the Jboss App Server and will make use of JAAS:</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="JBMSecurityManager"
+ class="org.jboss.messaging.core.security.impl.JAASSecurityManager"/>
+ ]]>
+ </programlisting>
+ <para>To replace the Security Manager implement the following interface:</para>
+ <programlisting>org.jboss.messaging.core.security.JBMSecurityManager</programlisting>
+ </listitem>
+ <listitem>
+ <para>Messaging Server Management</para>
+ <para>This exposes Server management operations via JMX. This can be removed if this functionality is not needed</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="MessagingServerManagement"
+ class="org.jboss.messaging.core.management.impl.MessagingServerManagementImpl">
+ <annotation>
+ @org.jboss.aop.microcontainer.aspects.jmx.JMX(
+ name="jboss.messaging:service=MessagingServerManagement",
+ exposedInterface=org.jboss.messaging.core.management.MessagingServerManagement.class
+ )</annotation>
+ <property name="messagingServer">
+ <inject bean="MessagingServer"/>
+ </property>
+ </bean>
+ ]]>
+ </programlisting>
+ </listitem>
+ <listitem>
+ <para>The Messaging Server</para>
+ <para>This must never be changed as it is the core messaging server</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="MessagingServer"
+ class="org.jboss.messaging.core.server.impl.MessagingServerImpl">
+ <property name="storageManager">
+ <inject bean="StorageManager"/>
+ </property>
+ <property name="remotingService">
+ <inject bean="RemotingService"/>
+ </property>
+ <property name="configuration">
+ <inject bean="Configuration"/>
+ </property>
+ <property name="securityManager">
+ <inject bean="JBMSecurityManager"/>
+ </property>
+ </bean>
+ ]]>
+ </programlisting>
+ </listitem>
+ <listitem>
+ <para>The Storage Manager</para>
+ <para>The Storage manager deals with the persistence of messages and bindings. For more information on this
+ refer to the chapter 'The journal based persistence approach'.</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="StorageManager"
+ class="org.jboss.messaging.core.persistence.impl.journal.JournalStorageManager">
+ <constructor>
+ <parameter>
+ <inject bean="Configuration"/>
+ </parameter>
+ </constructor>
+ </bean>
+ ]]>
+ </programlisting>
+ <para>To replace this pluggable component implement the following interface:</para>
+ <programlisting>org.jboss.messaging.core.persistence.StorageManager</programlisting>
+ </listitem>
+ <listitem>
+ <para>The Remoting Service</para>
+ <para>The Remoting Service is the transport used by the JBM server</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="RemotingService"
+ class="org.jboss.messaging.core.remoting.impl.mina.MinaService">
+ <constructor>
+ <parameter>
+ <inject bean="Configuration"/>
+ </parameter>
+ </constructor>
+ </bean>
+ ]]>
+ </programlisting>
+ <para>To replace this pluggable component implement the following interface:</para>
+ <programlisting>org.jboss.messaging.core.remoting.RemotingService</programlisting>
+ </listitem>
+ <listitem>
+ <para>The JMS Server Manager</para>
+ <para>The JMS Server Manager exposes JMS operations via JMX. This can be removed if not needed.</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="JMSServerManager"
+ class="org.jboss.messaging.jms.server.impl.JMSServerManagerImpl">
+ <annotation>
+ @org.jboss.aop.microcontainer.aspects.jmx.JMX(
+ name="jboss.messaging:service=JMSServerManager",
+ exposedInterface=org.jboss.messaging.jms.server.JMSServerManager.class)
+ </annotation>
+ <property name="messagingServerManagement">
+ <inject bean="MessagingServerManagement"/>
+ </property>
+ </bean>
+ ]]>
+ </programlisting>
+ </listitem>
+ <listitem>
+ <para>The JMS Server Deployer</para>
+ <para>The JMS Server Deployer takes care of deploying Destinations and Connection Factories into JNDi via the
+ file <literal>jbm-jndi.xml</literal>. This can be removed if no objects are needed in JNDI or if only core
+ messaging is being used.</para>
+ <programlisting>
+ <![CDATA[
+ <bean name="JMSServerDeployer"
+ class="org.jboss.messaging.jms.server.impl.JMSServerDeployer">
+ <property name="jmsServerManager">
+ <inject bean="JMSServerManager"/>
+ </property>
+ <property name="messagingServer">
+ <inject bean="MessagingServer"/>
+ </property>
+ </bean>
+ ]]>
+ </programlisting>
+ </listitem>
+ </itemizedlist>
+
+ </section>
</chapter>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list