You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Introduction

QMan is a Management bridge that exposes one (or several) Qpid broker domain model as MBeans that are accessible through the Java Management Extensions (JMX).

How to run QMan

Prerequisites

QMan is a standalone application that is packaged as qpid-management-client-incubating-M3.jar. To run QMan you need to add the following jars in your CLASSPATH:

  • log4j-1.2.12.jar
  • slf4j-api-1.4.0.jar
  • slf4j-log4j12-1.4.0.jar
  • commons-pool-1.4.jar
  • commons-codec-1.3.jar
  • commons-lang-2.2.jar
  • commons-collections-3.2.jar
  • commons-configuration-1.2.jar
  • qpid-client-incubating-Mx.jar (were x is the current qpid version)
  • qpid-common-incubating-Mx.jar (were x is the current qpid version)

alternatively you can run the following script (that add all the qpid jars to the CLASSPATH):
> CLASSPATH=`find <lib-root> -name '*.jar' | tr '\n' ":"`
Where <lib-root> is the directory containing the qpid jars (when qpid is built from source <lib-root> is equal to qpid/java/build/lib)

QMan can be connected at run time against any broker however it must first connect to a running broker. As default QMan will try to connect to a broker running on localhost port 5672.

The file config.xml that must be located in a directory referenced by the CLASSPATH can be used for configuring QMAN. The default content of this file is:

<configuration>
	<type-mappings>
		<mapping>
			<code>1</code>
			<class-name>org.apache.qpid.management.domain.model.type.Uint8</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$NumberValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>2</code>
			<class-name>org.apache.qpid.management.domain.model.type.Uint16</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$NumberValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>3</code>
			<class-name>org.apache.qpid.management.domain.model.type.Uint32</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$NumberValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>4</code>
			<class-name>org.apache.qpid.management.domain.model.type.Uint64</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$NumberValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>6</code>
			<class-name>org.apache.qpid.management.domain.model.type.Str8</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$StringValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>7</code>
			<class-name>org.apache.qpid.management.domain.model.type.Str16</class-name>
			<validator-class-name>org.apache.qpid.management.domain.model.QpidProperty$StringValidator</validator-class-name>
		</mapping>
		<mapping>
			<code>8</code>
			<class-name>org.apache.qpid.management.domain.model.type.AbsTime</class-name>
		</mapping>
		<mapping>
			<code>9</code>
			<class-name>org.apache.qpid.management.domain.model.type.DeltaTime</class-name>
		</mapping>
		<mapping>
			<code>10</code>
			<class-name>org.apache.qpid.management.domain.model.type.ObjectReference</class-name>
		</mapping>
		<mapping>
			<code>11</code>
			<class-name>org.apache.qpid.management.domain.model.type.Boolean</class-name>
		</mapping>
		<mapping>
			<code>14</code>
			<class-name>org.apache.qpid.management.domain.model.type.Uuid</class-name>
		</mapping>
		<mapping>
			<code>15</code>
			<class-name>org.apache.qpid.management.domain.model.type.Map</class-name>
		</mapping>
	</type-mappings>
	<access-mode-mappings>
		<mapping>
			<code>1</code>
			<value>RC</value>
		</mapping>
		<mapping>
			<code>2</code>
			<value>RW</value>
		</mapping>
		<mapping>
			<code>3</code>
			<value>RO</value>
		</mapping>
	</access-mode-mappings>
	<brokers>
		<broker>
			<host>localhost</host>
			<port>5672</port>
			<virtual-host>test</virtual-host>
			<user>guest</user>
			<password>guest</password>
			<max-pool-capacity>4</max-pool-capacity>
			<initial-pool-capacity>0</initial-pool-capacity>
			<max-wait-timeout>-1</max-wait-timeout>
		</broker>
	</brokers>
</configuration>

Several brokers can be added so that QMan will try to connect to those broker at starting time.

Running QMan

To run QMan in a console run the following command:

java org.apache.qpid.management.domain.services.QMan

Messages similar to those should be displayed:

... [org.apache.qpid.management.domain.services.QMan] <QMAN-000001> : Starting Q-Man...
...
Type "q" to quit.

Stopping QMan

Type "q" In the console from which QMan has been started.

Browsing Manageable Beams

The jconsole tool (JMX-compliant graphical tool for monitoring a Java virtual machine) can be used for monitoring and QMan Mbeans. for more information see http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html

The jconsole executable can be found in JDK_HOME/bin, where JDK_HOME is the directory in which the JDK software is installed. If this directory is in your system path, you can start JConsole by simply typing jconsole in a console. Otherwise, you have to type the full path to the executable file.

As demonstrated on the following screen shot, once jconsole is running select the MBeans tab and select the Q-MAN set of MBeans.

 

  • No labels