Edition 1
1801 Varsity Drive
Raleigh, NC 27606-2072 USA
Phone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F2 to switch to the first virtual terminal. Press Ctrl+Alt+F1 to return to your X-Windows session.
mono-spaced bold
. For example:
File-related classes includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).→ → from the main menu bar to launchTo insert a special character into a gedit file, choose → → from the main menu bar. Next, choose → from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose → from the gedit menu bar.
Mono-spaced Bold Italic
or Proportional Bold Italic
To connect to a remote machine using ssh, typessh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.Themount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q
command. It will return a result as follows:package
.
package-version-release
Publican is a DocBook publishing system.
mono-spaced roman
and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman
but add syntax highlighting as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
yum
command.
# yum groupinstall "MRG Messaging"
yum
command.
# yum groupinstall "MRG Messaging" # yum install qpid-cpp-server-cluster
RHEL High Availability
for cluster dependencies and RHEL Server Optional
for xml dependencies are met.
qpid-cpp-client
qpid-cpp-client
is required for runtime.
qpid-cpp-client-devel
qpid-cpp-client-devel
is required.
yum deplist
with the package name to discover the dependencies:
# yum deplist qpid-cpp-client
RPM Package Name | Description | Language |
---|---|---|
qpid-cpp-server
| MRG Messaging broker (Apache Qpid binaries for i386). | C++ |
qpid-cpp-server-store
| MRG Messaging libraries, providing guaranteed message delivery. | C++ |
qpid-cpp-client
| MRG Messaging client libraries. Required to run the broker. | C++ |
qpid-cpp-client-devel
| C++ client libraries, including header files, developer documentation, and symbolic links to shared libraries. | C++ |
RPM Package Name | Description | Language |
---|---|---|
qpid-cpp-server
| MRG Messaging broker (Apache Qpid binaries for x86). | C++ |
qpid-cpp-server-store
| MRG Messaging libraries, providing guaranteed message delivery. | C++ |
qpid-cpp-client
| MRG Messaging client libraries. Required to run the broker. | C++ |
qpid-cpp-client-devel
| C++ client libraries, including header files, developer documentation, and symbolic links to shared libraries. | C++ |
qpid-cpp-client-devel-docs
| C++ developer documentation. | C++ |
RPM Package Name | Description | Language | Architecture |
---|---|---|---|
qpid-java-client
| Java client library including JMS implementation | Java | Architecture Independent |
qpid-java-common
| Java client and broker (to be released) common library. | Java | Architecture Independent |
qpid-java-example
| Java examples | Java | Architecture Independent |
RPM Package Name | Description | Language | Architecture |
---|---|---|---|
python-qpid
| Python client libraries and examples. | Python | Architecture Independent |
qpid-tools
| Python command line tools. | Python | Architecture Independent |
python-qpid-qmf
| Python libraries for the Qpid Management Framework. | Python | Architecture Independent |
RPM Package Name | Description |
---|---|
qpid-cpp-server-cluster
| Clustering plugin |
qpid-cpp-server-store
| Persistence plugin |
qpid-cpp-server-xml
| XML exchange plugin |
qpid-cpp-server-ssl
| SSL Server plugin |
qpid-cpp-client-ssl
| SSL Client plugin |
qpid-cpp-server-rdma
| RDMA/Infiniband Server plugin |
qpid-cpp-client-rdma
| RDMA/Infiniband Client plugin |
rpm
command:
$ rpm -qal python-qpid
python-qpid
package. They are installed to /usr/share/doc/python-qpid-0.10/examples
.
qpid-cpp-client-devel
package. They are installed to /usr/share/qpidc/examples/messaging
.
qpid-java-example
package. They are installed to /usr/share/doc/qpid-java-0.10/examples
.
Qpid
initialization scripts.
Qpid supported action | |
---|---|
start
| Starts the service. |
stop
| Stops the service. |
restart
| If the service is already running, stop and restart the service. If the service isn't running, starts the service. |
condrestart (and try-restart)
| If the service is running, restarts the service. If the service isn't running, this action does nothing. |
force-reload
| Reloads the service configuration then restarts to service to ensure the configuration takes effect. |
status
| Prints the current status of the service. |
usage
| If this is run without an action, by default it will display a usage message listing all actions (intended for use). |
/usr/sbin/
. If this is not on your path, you will need to type the whole path to start the broker:
$ /usr/sbin/qpidd -t [date] [time] info Loaded Module: libbdbstore.so.0 [date] [time] info Locked data directory: /var/lib/qpidd [date] [time] info Management enabled [date] [time] info Listening on port 5672
-t
or --trace
option enables debug tracing, printing messages to the terminal.
[date] [time] notice Shutting down. [date] [time] info Unlocked data directory: /var/lib/qpidd
# service qpidd start Starting Qpid AMQP daemon: [ OK ]
service status
command and stop the broker with the service stop
.
# service qpidd status
qpidd (pid PID
) is running...
# service qpidd stop
Stopping Qpid AMQP daemon: [ OK ]
5555
and 5556
.
--data-dir
command to specify a new data directory for each:
$ qpidd -p5555
--data-dir/tmp/qpid/store/1
$ qpidd -p5556
--data-dir/tmp/qpid/store/2
/etc/qpidd.conf
file in your preferred text editor to make the necessary changes.
# Configuration file for qpidd trace=1
# service qpidd restart Stopping qpidd daemon: [ OK ] Starting qpidd daemon: [ OK ]
# /usr/sbin/qpidd -t [date] [time] info Locked data directory: /var/lib/qpidd [date] [time] info Management enabled [date] [time] info Listening on port 5672
$ /usr/sbin/qpidd -t
man qpidd
or /usr/sbin/qpidd --help
at the shell prompt.
General options for running the broker | |
---|---|
-t
| This option enables verbose log messages, for debugging only. |
-p <Port_Number>
| Instructs the broker to use the specified port. Defaults to port 5672. It is possible to run multiple brokers simultaneously by using different port numbers. |
-v
| Displays the installed version. |
-h
| Displays the help message. |
Options for running the broker as a service | |
---|---|
-d
|
This option instructs MRG Messaging to run in the background as a daemon. Log messages from the broker are sent to syslog (/var/log/messages ) by default.
|
-q
| This command shuts down the broker that is currently running. |
-c
| This command checks if the daemon is already running. If it is running, it returns the process ID number. |
-d --wait=<seconds>
|
This sets the maximum wait time (in seconds) for the daemon to initialize. If the daemon has not successfully completed initialization within this time, an error is returned. This option must be used in conjunction with the -d option, or it will be ignored.
|
/usr/lib/qpid/client
(or /usr/lib64/qpid/client
on 64-bit installations) and for the daemon at /usr/lib/qpid/daemon
(or /usr/lib64/qpid/daemon
on 64-bit installations). The default modules are:
Options for using modules with the broker | |
---|---|
--load-module
| Instructs the broker to use the specified module as a plug-in. |
--module-dir <DIRECTORY>
| Causes the broker to use a different module directory. |
--no-module-dir
| Causes the broker to ignore module directories. |
--help
command:
# /usr/sbin/qpidd --help
stderr
if the broker is run on the command line, or to syslog
(/var/log/messages/
), if the broker is run as a service. You can also choose to send them to a file.
-d
or --daemon
options, it will log to syslog by default. If the broker is started as a service, it will log to STDERR
by default instead.
Options for logging with syslog
| |
---|---|
--log-to-stderr yes|no
|
Send logging output to stderr . Enabled by default when run from command line.
|
--log-to-stdout yes|no
|
Send logging output to stdout .
|
--log-to-file
|
Send log output to the specified filename. FILE .
|
--log-to-syslog yes|no
|
Send logging output to syslog . Enabled by default when run as a service.
|
--syslog-name
|
Specify the name to use in syslog messages. The default is qpidd .
|
--syslog-facility
|
Specify the facility to use in syslog messages. The default is LOG_DAEMON .
|
-Dqpid.thread_factory="org.apache.qpid.thread.RealtimeThreadFactory"This ensures that the JMS Client will use
javax.realtime.RealtimeThread
s instead of java.lang.Thread
s.
-Dqpid.rt_thread_priority=30By default, the priority is set at 20.
--store-dir
option specifies the directory used for for the persistence store and any configuration information. The default directory is /var/lib/qpidd
. See Table 4.1, “Persistence Options” for options on how to change this behaviour.
qpid-config
command line tool. See the Programming in Apache Qpid guide for more information about creating client applications.
Persistence Options | |
---|---|
--data-dir
|
Specifies the directory for data storage and log files generated by the broker. The default is /var/lib/qpidd .
|
--no-data-dir
|
Disables storage of configuration information and other data. If the default directory at /var/lib/qpidd exists, it will be ignored.
|
--num-jfiles
| Set the number of files for each instance of the persistence journal. The default is 8. |
--jfile-size-pgs
| Set the size of each journal file in multiples of 64KB. The default is 24. |
--wcache-page-size
| The size (in KB) of the pages in the write page cache. Allowable values must be powers of 2 (1, 2, 4, ... 128). Lower values will decrease latency but also decrease throughput. The default is 32. |
qpid-config
qpid-route
qpid-tool
qpid-queue-stats
qpid-stat
qpid-printevents
qpid-cluster
qpid-cluster-store
qpid-tools
package.
mcastaddr
, mcastport
, and bindnetaddr
, and
ifconfig
to find the inet addr and the netmask for the interface you want:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:E0:81:76:B6:C6 inet addr:10.16.44.222 Bcast:10.16.47.255 Mask:255.255.248.0 inet6 addr: fe80::2e0:81ff:fe76:b6c6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:35914541 errors:6 dropped:0 overruns:0 frame:6 TX packets:6529841 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20294124383 (18.9 GiB) TX bytes:12925473031 (12.0 GiB) Interrupt:98 Base address:0x8000
/etc/ais/openais.conf
should be the network address for the interface, which you can find by doing a bitwise AND
of the inet addr (in this case, 10.16.44.222) and the network mask (in this case, 255.255.248.0). The result is 10.16.40.0. As a sanity check, you can use route
and make sure the address you computed is associated with the interface:
$ /sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 20.0.10.0 * 255.255.255.0 U 0 0 0 eth1 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 10.16.40.0 * 255.255.248.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default 10.16.47.254 0.0.0.0 UG 0 0 0 eth0
eth0
as the interface for the cluster, find the setting for bindnetaddr in /etc/ais/openais.conf
, and set it to 10.16.40.0:
bindnetaddr: 10.16.40.0
qpidd
. You can make ais
the primary group for qpidd
as follows:
# usermod -g ais qpidd
cluster-name="Mick"
qpid-cluster
to list the membership of the cluster or to shutdown cleanly.
[conway@mrg32 ~]$ qpid-cluster mrg33 Cluster Name: conway-test-cluster Cluster Status: ACTIVE Cluster Size: 3 Members: ID=20.0.100.33:22689 URL=amqp:tcp:20.0.10.33:5672,tcp:10.16.44.238:5672,\ tcp:20.0.100.33:5672,tcp:192.168.122.1:5672 : ID=20.0.100.34:20810 URL=amqp:tcp:20.0.10.34:5672,tcp:10.16.44.239:5672,\ tcp:20.0.100.34:5672,tcp:192.168.122.1:5672 : ID=20.0.100.35:20139 URL=amqp:tcp:20.0.10.35:5672,tcp:20.0.20.35:5672,tc\ p:10.16.44.240:5672,tcp:20.0.100.35:5672,tcp:192.168.122.1:5672
qpid-tool
against any cluster node to view details of the cluster. The cluster is one of the objects shown by the list
command.
qpid: list Management Object Types: ObjectType Active Deleted ==================================================== com.redhat.rhm.store:journal 1 0 com.redhat.rhm.store:store 1 0 org.apache.qpid.broker:binding 5 0 org.apache.qpid.broker:broker 1 0 org.apache.qpid.broker:connection 1 0 org.apache.qpid.broker:exchange 7 0 org.apache.qpid.broker:queue 2 0 org.apache.qpid.broker:session 1 0 org.apache.qpid.broker:system 1 0 org.apache.qpid.broker:vhost 1 0 org.apache.qpid.cluster:cluster 1 0
show cluster
:
qpid: show cluster Object of type org.apache.qpid.cluster:cluster: (last sample time: 13:56:40) Type Element 112 ================================================================================================== property brokerRef 102 property clusterName foo property clusterID da821ff9-2a88-4002-b976-f18680556290 property publishedURL amqp:tcp:10.16.44.222:52265,tcp:20.0.10.15:52265,tcp:192.168.122.1:52265 property clusterSize 1 property status ACTIVE property members amqp:tcp:10.16.44.222:52265,tcp:20.0.10.15:52265,tcp:192.168.122.1:52265
--cluster-cman
option.
PLAIN
authentication method sends passwords in cleartext. If using this mechanism, for complete security using Security Services Library (SSL) is recommended. See the MRG Messaging User Guide for information on setting SSL on client machines.
guest
, which are included in the database at /var/lib/qpidd/qpidd.sasldb
on installation, or add your own accounts.
saslpasswd2
command. The User ID for authentication and ACL authorization uses the form user-id
@domain
.
.
-u
option. The default realm for the broker is QPID
.
# saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -uQPID
new_user_name
-f
option:
# sasldblistusers2 -f /var/lib/qpidd/qpidd.sasldb
/var/lib/qpidd/qpidd.sasldb
is readable only by the qpidd
user. If you start the broker from a user other than the qpidd
user, you will need to either modify the configuration file, or turn authentication off.
auth yes|no
option when you start the broker:
# /usr/sbin/qpidd --auth yes # /usr/sbin/qpidd --auth no
/etc/qpidd.conf
configuration file:
auth=no auth=yes
/etc/sasl2/qpidd.conf
for Red Hat Enterprise Linux 5.6.
/usr/share/doc/cyrus-sasl-lib-2.1.22/index.html
for Red Hat Enterprise Linux 5.6.
qpidd --help
command and checking the output for ACL options:
$ qpidd --help ...[output truncated]... ACL Options: --acl-file FILE (policy.acl) The policy file to load from, loaded from data dir
--acl-file
command with a path and filename. The filename should have a .acl
extension:
$ qpidd --acl-file ./aclfilename.acl
You can now view the file with the cat
command and edit it in your preferred text editor. If the path and filename is not found, qpidd
will fail to start.
/etc/security/limits.conf
to set the limit, which is the maximum amount of lockable memory that a given process can allocate.
qpid-cpp-server-rdma
has been installed for Qpid to use RDMA. Then make sure that the RDMA plugin, rdma.so
, is present in the plugins directory.
qpidd soft memlock 524288 qpidd hard memlock 524288
qpid-cpp-client-rdma
has been installed. If it has, the file rdmaconnector.so
will be present in the plugins directory.
* soft memlock 32768
andrew soft memlock 32768
\bin
.dll
and .exe
) files and the associated debug program database (.pdb
) files
MSVC90
runtime library files
\include
.h
files
\lib
.lib
files that correspond to files in /bin
\docs
\examples
\dotnet_examples
\management
.zip
files. The kit contents are copied to your system using file copy operations.
qpid-cpp-winsdk-1.3.0.24-x86.zip
file into your preferred directory.
qpid-cpp-winsdk-1.3.0.24-x86.zip
kit contains a copy of the Microsoft C++ 2008 Redistributable Package (x86). This package is located in the \bin
directory after the kit has been unzipped. No further installation is necessary.
.zip
files. The kit contents are copied to your system using file copy operations.
qpid-cpp-winsdk-1.3.0.24-x64.zip
file into your preferred directory.
qpid-cpp-winsdk-1.3.0.24-x64.zip
file does not contain the Microsoft C++ 2008 Redistributable Package (x64). On 64-bit systems this package must be installed using a formal installation process. See the Microsoft Download Center for information about getting and installing this package.
Release
versions of redistributable packages of the C++ runtime libraries for all platform architectures, but do not allow redistribution of Debug
versions of the C++ runtime libraries.
Debug
versions of the C++ runtime libraries, you will need to get them by installing an end-user development platform, such as Microsoft Visual Studio or Microsoft Visual Studio Express.
examples\examples.sln
solution file in Visual Studio.
Example | Description |
---|---|
Server |
Creates a receiver and listens for messages. Upon message receipt the message content is converted to upper case and forwarded to the received message's ReplyTo address.
|
Client | Sends a series of messages to the server and prints the original message content and the received message reply content. |
Map_receiver | Creates a receiver and listens for a map message. Upon message receipt the message is decoded and displayed on the console. |
Map_sender | Creates a map message and sends it to the map_receiver. The map message contains string, integer, floating point, list, and UUID values. |
Spout | Spout is a more complex example of code that generates a series of messages and sends them to the peer program Drain. Flexible command line arguments allow the user to specify a variety of message and program options. |
Drain | Drain is a more complex example of code that receives a series of messages and displays their contents on the console. |
dotnet_examples\winsdk_dotnet_examples.sln
solution file in Visual Studio.
Example | Description |
---|---|
csharp.example.server |
Creates a receiver and listens for messages. Upon message receipt the message content is converted to upper case and forwarded to the received message's ReplyTo address.
|
csharp.example.client | Sends a series of messages to the server and prints the original message content and the received message reply content. |
csharp.map.receiver | Creates a receiver and listens for a map message. Upon message receipt the message is decoded and displayed on the console. |
csharp.map.sender | Creates a map message and sends it to the map_receiver. The map message contains values for every supported MRG Messaging data type. |
csharp.example.spout | Spout is a more complex example of code that generates a series of messages and sends them to the peer program Drain. Flexible command line arguments allow the user to specify a variety of message and program options. |
csharp.example.drain | Drain is a more complex example of code that receives a series of messages and displays their contents on the console. |
csharp.map.callback.receiver | Creates a receiver and listens for a map message. Upon message reception the message is decoded and displayed on the console. This example illustrates the use of the C# managed code callback mechanism provided by the MRG Messaging Managed Callback Library |
csharp.map.callback.sender | Creates a map message and sends it to the map_receiver. The map message contains values for every supported MRG Messaging data type. |
csharp.example.declare_queues | A program to illustrate creating objects on a broker. This program creates a queue used by spout and drain. |
csharp.direct.receiver | Creates a receiver and listens for a messages. Upon message receipt the message is decoded and displayed on the console. |
csharp.direct.sender |
Creates a series of messages and sends them to csharp.direct.receiver .
|
csharp.example.helloworld | A program to send a message and to receive the same message from a broker. |
Program Function | C++ Code Example | .NET C# Code Example |
---|---|---|
client | C++ client | csharp.example.client |
server | C++ server | csharp.example.server |
map_receiver | C++ map_receiver | csharp.map.receiver |
map_sender | C++ map_sender | csharp.map.sender |
spout | C++ spout | csharp.example.spout |
drain | C++ drain | csharp.example.drain |
Revision History | ||||
---|---|---|---|---|
Revision 1-3 | Wed Sep 28 2011 | |||
| ||||
Revision 1-2 | Tue Sep 27 2011 | |||
| ||||
Revision 1-1 | Wed Sep 21 2011 | |||
| ||||
Revision 1-0 | Thu Jun 23 2011 | |||
| ||||
Revision 0.1-6 | Mon Jun 20 2011 | |||
| ||||
Revision 0.1-5 | Fri Jun 17 2011 | |||
| ||||
Revision 0.1-4 | Thu Jun 16 2011 | |||
| ||||
Revision 0.1-3 | Fri May 27 2011 | |||
| ||||
Revision 0.1-2 | Wed May 18 2011 | |||
| ||||
Revision 0.1-1 | Tue Mar 01 2011 | |||
| ||||
Revision 0.1-0 | Tue Feb 22 2011 | |||
|