diff --git a/NOTICE b/NOTICE index 288a13f562..9584e27dd9 100644 --- a/NOTICE +++ b/NOTICE @@ -1,14 +1,14 @@ -HornetQ +ActiveMQ Copyright 2009 Red Hat, Inc. Licensed under the Apache License, version 2.0. -Unless required by applicable law, HornetQ is distributed on +Unless required by applicable law, ActiveMQ is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, either express or implied, including the implied warranties of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. -Certain portions of HornetQ are based on code made available +Certain portions of ActiveMQ are based on code made available under the GNU Lesser General Public License, version 2.1 or later (http://www.fsf.org/licensing/licenses/lgpl.html). "JBoss" and "Red Hat" are trademarks of Red Hat, Inc. and/or its affiliates, registered in the U.S. and other countries. Your -permissions under the licensing terms governing HornetQ do +permissions under the licensing terms governing ActiveMQ do not include a license, express or implied, to any Red Hat trademark. \ No newline at end of file diff --git a/RELEASING.md b/RELEASING.md index 1f839877e9..bf5a5ef804 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -18,12 +18,12 @@ Assuming current version is ``X.Y.Z-SNAPSHOT`` 0. Update the release notes. 1. Prepare a single commit changing all version tags in all pom's. -2. tag this commit locally by 'git tag -a HornetQ_X_Y_Z_Final -m "release for x.y.z.Final' or what ever the version is +2. tag this commit locally by 'git tag -a ActiveMQ_X_Y_Z_Final -m "release for x.y.z.Final' or what ever the version is 3. remember to update the version in the main pom, think of a cool name if you can 4. update the hornetq-maven-plugin plugin in the main pom to one that is released, if needed release a new version of the plugin. 5. Either use ``git revert`` to create a new commit reverting the commit with the version changes. Or change again all versions to ``R.S.T-SNAPSHOT``. 6. push both commits with version changes together, including them in the same _pull-request_. -7. push the committed tag upstream 'git push upstream HornetQ_X_Y_Z_Final' +7. push the committed tag upstream 'git push upstream ActiveMQ_X_Y_Z_Final' 8. download and unpack the tag from github 9. firstly upload the maven artifacts to the staged repository 'mvn -Pmaven-release deploy' (you will need the repository details in your settings.xml' 10. go to nexus (https://repository.jboss.org/nexus/index.html), log in, select staging repositories, select the staging profile that you uploaded and close it. @@ -55,7 +55,7 @@ If everything is ok then release by: if there is a problem -1. delete the tag locally 'git tag -d HornetQ_X_Y_Z_Final" -2. delete the tag remotely 'git push origin :refs/tags/HornetQ_X_Y_Z_Final" +1. delete the tag locally 'git tag -d ActiveMQ_X_Y_Z_Final" +2. delete the tag remotely 'git push origin :refs/tags/ActiveMQ_X_Y_Z_Final" 3. go to nexus and drop the profile 4. fix what's broken and start again diff --git a/activemq-bootstrap/src/main/filtered-resources/org/apache/activemq/cli/banner.txt b/activemq-bootstrap/src/main/filtered-resources/org/apache/activemq/cli/banner.txt index 411caec9b4..cddde50691 100644 --- a/activemq-bootstrap/src/main/filtered-resources/org/apache/activemq/cli/banner.txt +++ b/activemq-bootstrap/src/main/filtered-resources/org/apache/activemq/cli/banner.txt @@ -3,6 +3,6 @@ | |_| |/ _ \| '__| '_ \ / _ \ __| | | | | _ | (_) | | | | | | __/ |_| |_| | |_| |_|\___/|_| |_| |_|\___|\__|\__\_\ - HornetQ ${project.version} + ActiveMQ ${project.version} diff --git a/activemq-native/README b/activemq-native/README index a40400f46e..88bd9904cd 100644 --- a/activemq-native/README +++ b/activemq-native/README @@ -1,5 +1,5 @@ -This is a simple tutorial on compiling libHornetQLibAIO.so +This is a simple tutorial on compiling libActiveMQLibAIO.so DEPENDENCIES diff --git a/activemq-ra/src/main/java/org/apache/activemq/ra/package.html b/activemq-ra/src/main/java/org/apache/activemq/ra/package.html index 0eb7e73df5..eda0590a22 100644 --- a/activemq-ra/src/main/java/org/apache/activemq/ra/package.html +++ b/activemq-ra/src/main/java/org/apache/activemq/ra/package.html @@ -18,7 +18,7 @@ Copyright 2009 Red Hat, Inc. -

HornetQ Resource Adaptor

+

ActiveMQ Resource Adaptor

diff --git a/activemq-rest/src/main/resources/schema/hornetq-rest.xsd b/activemq-rest/src/main/resources/schema/hornetq-rest.xsd index 063e71c6ff..9288bf7454 100644 --- a/activemq-rest/src/main/resources/schema/hornetq-rest.xsd +++ b/activemq-rest/src/main/resources/schema/hornetq-rest.xsd @@ -8,8 +8,8 @@ - The HornetQ REST implementation uses the IN-VM transport to communicate - with HornetQ. It uses the default server id, which is "0". + The ActiveMQ REST implementation uses the IN-VM transport to communicate + with ActiveMQ. It uses the default server id, which is "0". @@ -17,7 +17,7 @@ By default, all links (URLs) are published using custom headers. - You can instead have the HornetQ REST implementation publish links + You can instead have the ActiveMQ REST implementation publish links using the Link Header specification instead if you desire. @@ -57,7 +57,7 @@ - The REST implementation pools HornetQ sessions for sending messages. + The REST implementation pools ActiveMQ sessions for sending messages. This is the size of the pool. That number of sessions will be created at startup time. @@ -90,8 +90,8 @@ - For consumers, this config option is the same as the HornetQ one of the - same name. It will be used by sessions created by the HornetQ REST + For consumers, this config option is the same as the ActiveMQ one of the + same name. It will be used by sessions created by the ActiveMQ REST implementation. diff --git a/activemq-server/src/main/resources/META-INF/services/org/apache/activemq/security/basic-security b/activemq-server/src/main/resources/META-INF/services/org/apache/activemq/security/basic-security index fd7afc1e64..84138b4e93 100644 --- a/activemq-server/src/main/resources/META-INF/services/org/apache/activemq/security/basic-security +++ b/activemq-server/src/main/resources/META-INF/services/org/apache/activemq/security/basic-security @@ -10,4 +10,4 @@ ## implied. See the License for the specific language governing ## permissions and limitations under the License. ## --------------------------------------------------------------------------- -class=org.apache.activemq.spi.core.security.HornetQSecurityManagerImpl \ No newline at end of file +class=org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl \ No newline at end of file diff --git a/distribution/activemq/src/main/resources/config/logging.properties b/distribution/activemq/src/main/resources/config/logging.properties index 1d05222fda..e905257959 100644 --- a/distribution/activemq/src/main/resources/config/logging.properties +++ b/distribution/activemq/src/main/resources/config/logging.properties @@ -26,7 +26,7 @@ loggers=org.jboss.logging,org.apache.activemq.core.server,org.apache.activemq.ut # Root logger level logger.level=INFO -# HornetQ logger levels +# ActiveMQ logger levels logger.org.apache.activemq.core.server.level=INFO logger.org.apache.activemq.journal.level=INFO logger.org.apache.activemq.utils.level=INFO diff --git a/docs/README.html b/docs/README.html index eca86ff683..852a0ec61c 100644 --- a/docs/README.html +++ b/docs/README.html @@ -3,20 +3,20 @@ - HornetQ 2.4.1.Final Release Notes + ActiveMQ 2.4.1.Final Release Notes -

Release Notes - HornetQ - Version 2.4.1 Final

+

Release Notes - ActiveMQ - Version 2.4.1 Final


22th January 2014

-These are the release notes for HornetQ 2.4.1.Final

+These are the release notes for ActiveMQ 2.4.1.Final

For full description of the contents please see the -HornetQ project JIRA.

+ActiveMQ project JIRA.

2.4.1.Final is a patch release built on 2.4.0.Final. diff --git a/docs/design-guide/en/Author_Group.xml b/docs/design-guide/en/Author_Group.xml index 2d9b1bddd8..be61528998 100644 --- a/docs/design-guide/en/Author_Group.xml +++ b/docs/design-guide/en/Author_Group.xml @@ -13,7 +13,7 @@ --> + %BOOK_ENTITIES; ]> diff --git a/docs/design-guide/en/Book_Info.xml b/docs/design-guide/en/Book_Info.xml index 43d56b6ffc..8eb04bd4d8 100644 --- a/docs/design-guide/en/Book_Info.xml +++ b/docs/design-guide/en/Book_Info.xml @@ -13,17 +13,17 @@ --> + %BOOK_ENTITIES; ]> - - HornetQ Design Guide + + ActiveMQ Design Guide Putting the buzz in messaging - HornetQ + ActiveMQ 2.1.0 1 - This Design guide is to help current and future developers how HornetQ's architectures are designed to + This Design guide is to help current and future developers how ActiveMQ's architectures are designed to help the future development and maintenance of the project @@ -32,7 +32,7 @@ - HornetQ Logo + ActiveMQ Logo diff --git a/docs/design-guide/en/HornetQ_Design_Guide.ent b/docs/design-guide/en/HornetQ_Design_Guide.ent index e77312fd0b..004902c1cc 100644 --- a/docs/design-guide/en/HornetQ_Design_Guide.ent +++ b/docs/design-guide/en/HornetQ_Design_Guide.ent @@ -1,5 +1,5 @@ - - + + diff --git a/docs/design-guide/en/HornetQ_Design_Guide.xml b/docs/design-guide/en/HornetQ_Design_Guide.xml index 255c25d4d2..d498275b0e 100644 --- a/docs/design-guide/en/HornetQ_Design_Guide.xml +++ b/docs/design-guide/en/HornetQ_Design_Guide.xml @@ -14,7 +14,7 @@ --> + %BOOK_ENTITIES; ]> diff --git a/docs/design-guide/en/about.xml b/docs/design-guide/en/about.xml index 4542d0d684..fb05022815 100644 --- a/docs/design-guide/en/about.xml +++ b/docs/design-guide/en/about.xml @@ -14,11 +14,11 @@ --> + %BOOK_ENTITIES; ]> - About HornetQ - What is HornetQ? + About ActiveMQ + What is ActiveMQ? \ No newline at end of file diff --git a/docs/design-guide/en/clustering.xml b/docs/design-guide/en/clustering.xml index 18428f69b6..e9486e4583 100644 --- a/docs/design-guide/en/clustering.xml +++ b/docs/design-guide/en/clustering.xml @@ -18,7 +18,7 @@ + %BOOK_ENTITIES; ]> diff --git a/docs/design-guide/en/notice.xml b/docs/design-guide/en/notice.xml index 5d75298fe6..e85f99706b 100644 --- a/docs/design-guide/en/notice.xml +++ b/docs/design-guide/en/notice.xml @@ -12,7 +12,7 @@ --> + %BOOK_ENTITIES; ]> diff --git a/docs/design-guide/pom.xml b/docs/design-guide/pom.xml index 4c4b6ff83f..bf93b0af6b 100644 --- a/docs/design-guide/pom.xml +++ b/docs/design-guide/pom.xml @@ -25,8 +25,8 @@ en - HornetQ_Design_Guide - HornetQ Design Guide + ActiveMQ_Design_Guide + ActiveMQ Design Guide diff --git a/docs/eap-manual/en/Author_Group.xml b/docs/eap-manual/en/Author_Group.xml index 67034eae66..3abd330002 100644 --- a/docs/eap-manual/en/Author_Group.xml +++ b/docs/eap-manual/en/Author_Group.xml @@ -13,7 +13,7 @@ --> + %BOOK_ENTITIES; ]> diff --git a/docs/eap-manual/en/Book_Info.xml b/docs/eap-manual/en/Book_Info.xml index 869f4baa1e..b4bf01b55d 100644 --- a/docs/eap-manual/en/Book_Info.xml +++ b/docs/eap-manual/en/Book_Info.xml @@ -14,17 +14,17 @@ + %BOOK_ENTITIES; ]> - - HornetQ Eap Manual + + ActiveMQ Eap Manual Putting the buzz in messaging - HornetQ + ActiveMQ 2.1.0 1 - This is a guide to using HornetQ within EAP + This is a guide to using ActiveMQ within EAP @@ -32,7 +32,7 @@ - HornetQ Logo + ActiveMQ Logo diff --git a/docs/eap-manual/en/HornetQ_EAP_Manual.ent b/docs/eap-manual/en/HornetQ_EAP_Manual.ent index 1c0d787cb5..c757b83ae4 100644 --- a/docs/eap-manual/en/HornetQ_EAP_Manual.ent +++ b/docs/eap-manual/en/HornetQ_EAP_Manual.ent @@ -1,5 +1,5 @@ - - + + diff --git a/docs/eap-manual/en/HornetQ_EAP_Manual.xml b/docs/eap-manual/en/HornetQ_EAP_Manual.xml index 296057b7fa..32e5749dcd 100644 --- a/docs/eap-manual/en/HornetQ_EAP_Manual.xml +++ b/docs/eap-manual/en/HornetQ_EAP_Manual.xml @@ -14,7 +14,7 @@ + %BOOK_ENTITIES; ]> diff --git a/docs/eap-manual/en/clusters.xml b/docs/eap-manual/en/clusters.xml index ed85215e41..1f71cc6100 100644 --- a/docs/eap-manual/en/clusters.xml +++ b/docs/eap-manual/en/clusters.xml @@ -14,14 +14,14 @@ --> - HornetQ and EAP Cluster Configuration + ActiveMQ and EAP Cluster Configuration
Configuring Failover - This chapter explains how to configure HornetQ within EAP with live backup-groups. Currently in this version - HornetQ only supports shared store for backup nodes so we assume that in the rest of this chapter. + This chapter explains how to configure ActiveMQ within EAP with live backup-groups. Currently in this version + ActiveMQ only supports shared store for backup nodes so we assume that in the rest of this chapter. - There are 2 main ways to configure HornetQ servers to have a backup server: + There are 2 main ways to configure ActiveMQ servers to have a backup server: Colocated. This is when an EAP instance has both a live and backup(s) running. @@ -206,7 +206,7 @@ are created from the Journal when the backup server becomes live. - Firstly we need to define a new HornetQ Server that EAP will deploy. We do this by creating a new + Firstly we need to define a new ActiveMQ Server that EAP will deploy. We do this by creating a new hornetq-jboss-beans.xml configuration. We will place this under a new directory hornetq-backup1 @@ -228,7 +228,7 @@ <!-- The core server --> - <bean name="BackupHornetQServer" class="org.apache.activemq.core.server.impl.HornetQServerImpl"> + <bean name="BackupActiveMQServer" class="org.apache.activemq.core.server.impl.ActiveMQServerImpl"> <constructor> <parameter> <inject bean="BackupConfiguration"/> @@ -237,7 +237,7 @@ <inject bean="MBeanServer"/> </parameter> <parameter> - <inject bean="HornetQSecurityManager"/> + <inject bean="ActiveMQSecurityManager"/> </parameter> </constructor> <start ignored="true"/> @@ -248,7 +248,7 @@ <bean name="BackupJMSServerManager" class="org.apache.activemq.jms.server.impl.JMSServerManagerImpl"> <constructor> <parameter> - <inject bean="BackupHornetQServer"/> + <inject bean="BackupActiveMQServer"/> </parameter> </constructor> </bean> @@ -263,7 +263,7 @@ server which we will place in the same directory. - After that we just configure a new HornetQ Server and JMS server. + After that we just configure a new ActiveMQ Server and JMS server. @@ -386,7 +386,7 @@ The second thing you can see is we have added a jmx-domain attribute, this is used when - adding objects, such as the HornetQ server and JMS server to jmx, we change this from the default + adding objects, such as the ActiveMQ server and JMS server to jmx, we change this from the default org.apache.activemq to avoid naming clashes with the live server @@ -429,7 +429,7 @@ The Broadcast groups, Discovery group and cluster configurations are as per normal, details of these - can be found in the HornetQ user manual. + can be found in the ActiveMQ user manual. notice the commented out max-hops in the cluster connection, set this to 0 if @@ -480,7 +480,7 @@ - Here you can see how this works with remote JMS clients. Once failover occurs the HornetQ backup Server takes + Here you can see how this works with remote JMS clients. Once failover occurs the ActiveMQ backup Server takes running within another eap instance takes over as live. @@ -495,7 +495,7 @@ makes no sense to host any applications in it. However you can host applications on the server running the live hornetq server. If failure occurs to an live hornetq server then remote jms clients will failover as previously explained however what happens to any messages meant for or sent from JEE components. Well when the backup comes - live, messages will be distributed to and from the backup server over HornetQ cluster connections and handled + live, messages will be distributed to and from the backup server over ActiveMQ cluster connections and handled appropriately. @@ -506,7 +506,7 @@ - Here you can see that all the Application (via JCA) will be serviced by a HornetQ server in its own eap instance. + Here you can see that all the Application (via JCA) will be serviced by a ActiveMQ server in its own eap instance.
Configuration of dedicated Live and backup diff --git a/docs/eap-manual/pom.xml b/docs/eap-manual/pom.xml index 4c85f52ef1..b1f5563e10 100644 --- a/docs/eap-manual/pom.xml +++ b/docs/eap-manual/pom.xml @@ -25,8 +25,8 @@ en - HornetQ_EAP_Manual - HornetQ EAP Manual + ActiveMQ_EAP_Manual + ActiveMQ EAP Manual diff --git a/docs/quickstart-guide/en/Author_Group.xml b/docs/quickstart-guide/en/Author_Group.xml index b0dac5f0b4..43a10c32ce 100644 --- a/docs/quickstart-guide/en/Author_Group.xml +++ b/docs/quickstart-guide/en/Author_Group.xml @@ -1,6 +1,6 @@ + %BOOK_ENTITIES; ]> diff --git a/docs/quickstart-guide/en/Book_Info.xml b/docs/quickstart-guide/en/Book_Info.xml index 5f2ce4b6c7..22a9c62c6e 100644 --- a/docs/quickstart-guide/en/Book_Info.xml +++ b/docs/quickstart-guide/en/Book_Info.xml @@ -1,16 +1,16 @@ + %BOOK_ENTITIES; ]> - - HornetQ QuickStart Guide + + ActiveMQ QuickStart Guide Putting the buzz in messaging - HornetQ + ActiveMQ 2.1.0 1 - This Quickstart guide will help you get HornetQ up and running in a few minutes and will explain the basics needed + This Quickstart guide will help you get ActiveMQ up and running in a few minutes and will explain the basics needed to get started. @@ -19,7 +19,7 @@ - HornetQ Logo + ActiveMQ Logo diff --git a/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.ent b/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.ent index f3d2b4ac5d..2d688878d9 100644 --- a/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.ent +++ b/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.ent @@ -1,5 +1,5 @@ - - + + diff --git a/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.xml b/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.xml index 62114fa821..0dac31afe4 100644 --- a/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.xml +++ b/docs/quickstart-guide/en/HornetQ_QuickStart_Guide.xml @@ -1,7 +1,7 @@ + %BOOK_ENTITIES; ]> diff --git a/docs/quickstart-guide/en/about.xml b/docs/quickstart-guide/en/about.xml index b55905c4c2..7d44cdf286 100644 --- a/docs/quickstart-guide/en/about.xml +++ b/docs/quickstart-guide/en/about.xml @@ -19,32 +19,32 @@ + %BOOK_ENTITIES; ]> - About HornetQ - What is HornetQ? + About ActiveMQ + What is ActiveMQ? - HornetQ is an open source project to build a multi-protocol, embeddable, very high + ActiveMQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. - For answers to more questions about what HornetQ is and what it isn't please visit - the FAQs wiki + For answers to more questions about what ActiveMQ is and what it isn't please visit + the FAQs wiki page. - Why use HornetQ? Here are just a few of the reasons: + Why use ActiveMQ? Here are just a few of the reasons: - 100% open source software. HornetQ is licenced using the Apache Software License v2.0 + 100% open source software. ActiveMQ is licenced using the Apache Software License v2.0 to minimise barriers to adoption. - HornetQ is designed with usability in mind. + ActiveMQ is designed with usability in mind. Written in Java. Runs on any platform with a Java 6+ runtime, that's everything @@ -60,7 +60,7 @@ and others you won't find anywhere else. - Elegant, clean-cut design with minimal third party dependencies. Run HornetQ + Elegant, clean-cut design with minimal third party dependencies. Run ActiveMQ stand-alone, run it in integrated in your favourite JEE application server, or run it embedded inside your own product. It's up to you. @@ -77,7 +77,7 @@ For a full list of features, please see the features wiki + url="http://www.jboss.org/community/wiki/ActiveMQFeatures">features wiki page . diff --git a/docs/quickstart-guide/en/download.xml b/docs/quickstart-guide/en/download.xml index bc0beec900..7eeecb8dea 100644 --- a/docs/quickstart-guide/en/download.xml +++ b/docs/quickstart-guide/en/download.xml @@ -18,12 +18,12 @@ + %BOOK_ENTITIES; ]> Download - The official HornetQ project page is The official ActiveMQ project page is http://hornetq.org/.
Software Download @@ -37,7 +37,7 @@ Please take a look at our project wiki + url="http://www.jboss.org/community/wiki/ActiveMQ">wiki If you have any user questions please use our Follow us on twitter - HornetQ Git repository is ActiveMQ Git repository is https://github.com/hornetq/hornetq diff --git a/docs/quickstart-guide/en/examples.xml b/docs/quickstart-guide/en/examples.xml index 057aa27c18..7574664dbd 100644 --- a/docs/quickstart-guide/en/examples.xml +++ b/docs/quickstart-guide/en/examples.xml @@ -18,7 +18,7 @@ + %BOOK_ENTITIES; ]> @@ -66,7 +66,7 @@ [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ -[INFO] Building HornetQ JMS Queue Example 2.3.0.BETA-SNAPSHOT +[INFO] Building ActiveMQ JMS Queue Example 2.3.0.BETA-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hornetq-jms-queue-example --- @@ -106,29 +106,29 @@ [file:/home/andy/projects/hornetq-master/examples/jms/queue/target/classes/hornetq/server0/] Apr 17, 2013 10:51:01 AM org.apache.activemq.core.deployers.impl.FileConfigurationParser parseMainConfig WARN: HQ222018: AIO was not located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal -Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.HornetQServerImpl start -INFO: HQ221000: live server is starting with configuration HornetQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/journal,bindingsDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/bindings,largeMessagesDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/largemessages,pagingDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/paging) -Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation run +Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl start +INFO: HQ221000: live server is starting with configuration ActiveMQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/journal,bindingsDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/bindings,largeMessagesDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/largemessages,pagingDirectory=/home/andy/projects/hornetq-master/examples/jms/queue/target//server0/data/messaging/paging) +Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl$SharedStoreLiveActivation run INFO: HQ221006: Waiting to obtain live lock Apr 17, 2013 10:51:01 AM org.apache.activemq.core.persistence.impl.journal.JournalStorageManager <init> INFO: HQ221013: Using NIO Journal -Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.HornetQServerImpl initialisePart1 -WARN: HQ222007: Security risk! HornetQ is running with the default cluster admin user and default password. Please see the HornetQ user guide, cluster chapter, for instructions on how to change this. +Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl initialisePart1 +WARN: HQ222007: Security risk! ActiveMQ is running with the default cluster admin user and default password. Please see the ActiveMQ user guide, cluster chapter, for instructions on how to change this. Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.FileLockNodeManager startLiveNode INFO: HQ221034: Waiting to obtain live lock Apr 17, 2013 10:51:01 AM org.apache.activemq.core.server.impl.FileLockNodeManager startLiveNode INFO: HQ221035: Live Server Obtained live lock -Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.HornetQServerImpl deployQueue +Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl deployQueue INFO: HQ221003: trying to deploy queue jms.queue.exampleQueue Apr 17, 2013 10:51:02 AM org.apache.activemq.core.remoting.impl.netty.NettyAcceptor start INFO: HQ221020: Started Netty Acceptor version 3.6.2.Final-c0d783c localhost:5445 for CORE protocol -Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.HornetQServerImpl$SharedStoreLiveActivation run +Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl$SharedStoreLiveActivation run INFO: HQ221007: Server is now live -Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.HornetQServerImpl start -INFO: HQ221001: HornetQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57893ff-7783-11e2-9787-07ca142fc9f7] +Apr 17, 2013 10:51:02 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl start +INFO: HQ221001: ActiveMQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57893ff-7783-11e2-9787-07ca142fc9f7] [INFO] [INFO] --- hornetq-maven-plugin:1.1.1-SNAPSHOT:runClient (runClient) @ hornetq-jms-queue-example --- -Apr 17, 2013 10:51:02 AM org.apache.activemq.common.example.HornetQExample getContext +Apr 17, 2013 10:51:02 AM org.apache.activemq.common.example.ActiveMQExample getContext INFO: using jnp://localhost:1099 for jndi Sent message: This is a text message Received message: This is a text message @@ -141,8 +141,8 @@ example complete [INFO] --- hornetq-maven-plugin:1.1.1-SNAPSHOT:stop (stop) @ hornetq-jms-queue-example --- Apr 17, 2013 10:51:03 AM org.apache.activemq.core.server.management.impl.ManagementServiceImpl stop WARN: HQ222113: On ManagementService stop, there are 1 unexpected registered MBeans: [core.acceptor.netty-acceptor] -Apr 17, 2013 10:51:03 AM org.apache.activemq.core.server.impl.HornetQServerImpl stop -INFO: HQ221002: HornetQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57893ff-7783-11e2-9787-07ca142fc9f7] stopped +Apr 17, 2013 10:51:03 AM org.apache.activemq.core.server.impl.ActiveMQServerImpl stop +INFO: HQ221002: ActiveMQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57893ff-7783-11e2-9787-07ca142fc9f7] stopped [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ @@ -152,7 +152,7 @@ INFO: HQ221002: HornetQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57 [INFO] ------------------------------------------------------------------------ - Congratulations! You have successfully run your first HornetQ example. Try some of the + Congratulations! You have successfully run your first ActiveMQ example. Try some of the others.
@@ -172,7 +172,7 @@ INFO: HQ221002: HornetQ Server version 2.3.0.SNAPSHOT (black'n'yellow, 123) [a57 [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ -[INFO] Building HornetQ JEE MDB Example 2.3.0.BETA-SNAPSHOT +[INFO] Building ActiveMQ JEE MDB Example 2.3.0.BETA-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hornetq-jee-mdb-bmt-example --- @@ -235,8 +235,8 @@ INFO: Starting container with: [/home/andy/devtools/jdk1.6.0_25//bin/java, -Djbo 10:58:05,831 INFO [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-4) JBoss Web Services - Stack CXF Server 4.0.2.GA 10:58:05,943 INFO [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-6) Starting Coyote HTTP/1.1 on http-localhost.localdomain-127.0.0.1-8080 10:58:05,966 INFO [org.jboss.as.jacorb] (MSC service thread 1-2) JBAS016330: CORBA ORB Service started -10:58:05,988 INFO [org.apache.activemq.core.server.impl.HornetQServerImpl] (MSC service thread 1-11) live server is starting with configuration HornetQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingjournal,bindingsDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingbindings,largeMessagesDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messaginglargemessages,pagingDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingpaging) -10:58:05,996 INFO [org.apache.activemq.core.server.impl.HornetQServerImpl] (MSC service thread 1-11) Waiting to obtain live lock +10:58:05,988 INFO [org.apache.activemq.core.server.impl.ActiveMQServerImpl] (MSC service thread 1-11) live server is starting with configuration ActiveMQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingjournal,bindingsDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingbindings,largeMessagesDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messaginglargemessages,pagingDirectory=/home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/messagingpaging) +10:58:05,996 INFO [org.apache.activemq.core.server.impl.ActiveMQServerImpl] (MSC service thread 1-11) Waiting to obtain live lock 10:58:06,037 INFO [org.apache.activemq.core.persistence.impl.journal.JournalStorageManager] (MSC service thread 1-11) Using AIO Journal 10:58:06,122 INFO [org.jboss.as.jacorb] (MSC service thread 1-14) JBAS016328: CORBA Naming Service started 10:58:06,184 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS] @@ -247,16 +247,16 @@ INFO: Starting container with: [/home/andy/devtools/jdk1.6.0_25//bin/java, -Djbo 10:58:06,436 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-16) JBAS015012: Started FileSystemDeploymentService for directory /home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/deployments 10:58:08,790 INFO [org.apache.activemq.core.remoting.impl.netty.NettyAcceptor] (MSC service thread 1-11) Started Netty Acceptor version 3.2.5.Final-a96d88c localhost.localdomain:5445 for CORE protocol 10:58:08,793 INFO [org.apache.activemq.core.remoting.impl.netty.NettyAcceptor] (MSC service thread 1-11) Started Netty Acceptor version 3.2.5.Final-a96d88c localhost.localdomain:5455 for CORE protocol -10:58:08,795 INFO [org.apache.activemq.core.server.impl.HornetQServerImpl] (MSC service thread 1-11) Server is now live -10:58:08,797 INFO [org.apache.activemq.core.server.impl.HornetQServerImpl] (MSC service thread 1-11) HornetQ Server version 2.2.13.Final (HQ_2_2_13_FINAL_AS7, 122) [5c499e88-9c63-11e2-bfa3-fe5400591699]) started +10:58:08,795 INFO [org.apache.activemq.core.server.impl.ActiveMQServerImpl] (MSC service thread 1-11) Server is now live +10:58:08,797 INFO [org.apache.activemq.core.server.impl.ActiveMQServerImpl] (MSC service thread 1-11) ActiveMQ Server version 2.2.13.Final (HQ_2_2_13_FINAL_AS7, 122) [5c499e88-9c63-11e2-bfa3-fe5400591699]) started 10:58:08,822 INFO [org.jboss.as.messaging] (MSC service thread 1-4) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/RemoteConnectionFactory 10:58:08,824 INFO [org.jboss.as.messaging] (MSC service thread 1-4) JBAS011601: Bound messaging object to jndi name java:/RemoteConnectionFactory 10:58:08,825 INFO [org.jboss.as.messaging] (MSC service thread 1-10) JBAS011601: Bound messaging object to jndi name java:/ConnectionFactory -10:58:08,830 INFO [org.apache.activemq.core.server.impl.HornetQServerImpl] (MSC service thread 1-3) trying to deploy queue jms.queue.testQueue +10:58:08,830 INFO [org.apache.activemq.core.server.impl.ActiveMQServerImpl] (MSC service thread 1-3) trying to deploy queue jms.queue.testQueue 10:58:08,836 INFO [org.jboss.as.messaging] (MSC service thread 1-3) JBAS011601: Bound messaging object to jndi name java:/queue/test 10:58:08,840 INFO [org.jboss.as.messaging] (MSC service thread 1-3) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/queues/testQueue 10:58:08,859 INFO [org.jboss.as.deployment.connector] (MSC service thread 1-9) JBAS010406: Registered connection factory java:/JmsXA -10:58:08,866 INFO [org.apache.activemq.ra.HornetQResourceAdapter] (MSC service thread 1-9) HornetQ resource adaptor started +10:58:08,866 INFO [org.apache.activemq.ra.ActiveMQResourceAdapter] (MSC service thread 1-9) ActiveMQ resource adaptor started 10:58:08,867 INFO [org.jboss.as.connector.services.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-9) IJ020002: Deployed: file://RaActivatorhornetq-ra 10:58:08,870 INFO [org.jboss.as.deployment.connector] (MSC service thread 1-5) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA] 10:58:08,898 INFO [org.jboss.as.server.deployment] (MSC service thread 1-10) JBAS015876: Starting deployment of "ONT001-1.0.war" @@ -303,8 +303,8 @@ mdb.jar: 10:58:12,562 INFO [org.jboss.as.server] (management-handler-thread - 3) JBAS018559: Deployed "mdb.jar" Sent message: This is a text message 10:58:13,229 INFO [org.jboss.as.naming] (Remoting "localhost" task-3) JBAS011806: Channel end notification received, closing channel Channel ID 57be4578 (inbound) of Remoting connection 3ac552d5 to /127.0.0.1:58571 -10:58:13,255 INFO [stdout] (Thread-0 (HornetQ-client-global-threads-1402019528)) message This is a text message received -10:58:13,257 INFO [stdout] (Thread-0 (HornetQ-client-global-threads-1402019528)) we're in the middle of a transaction: org.jboss.tm.usertx.client.ServerVMClientUserTransaction@6b04d3c8 +10:58:13,255 INFO [stdout] (Thread-0 (ActiveMQ-client-global-threads-1402019528)) message This is a text message received +10:58:13,257 INFO [stdout] (Thread-0 (ActiveMQ-client-global-threads-1402019528)) we're in the middle of a transaction: org.jboss.tm.usertx.client.ServerVMClientUserTransaction@6b04d3c8 10:58:14,292 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment mdb.jar in 33ms 10:58:14,413 INFO [org.jboss.as.repository] (management-handler-thread - 1) JBAS014901: Content removed from location /home/andy/projects/hornetq-master/examples/javaee/mdb-bmt/target/jbossas-node0/standalone/data/content/59/7dcdb0f420ed57aea638b2599f7a86eecf6c85/content 10:58:14,415 INFO [org.jboss.as.server] (management-handler-thread - 1) JBAS018558: Undeployed "mdb.jar" diff --git a/docs/quickstart-guide/en/installation.xml b/docs/quickstart-guide/en/installation.xml index 80d48444d6..91fe855bb4 100644 --- a/docs/quickstart-guide/en/installation.xml +++ b/docs/quickstart-guide/en/installation.xml @@ -18,21 +18,21 @@ + %BOOK_ENTITIES; ]> Installation - This section describes how to install HornetQ. + This section describes how to install ActiveMQ.
Prerequisites - HornetQ only runs on Java 7 or later. + ActiveMQ only runs on Java 7 or later. - By default, HornetQ server runs with 1GiB of memory. If your computer has less memory, + By default, ActiveMQ server runs with 1GiB of memory. If your computer has less memory, or you want to run it with more available RAM, modify the value in bin/run.sh accordingly. - For persistence, HornetQ uses its own fast journal, which you can configure to use + For persistence, ActiveMQ uses its own fast journal, which you can configure to use libaio (which is the default when running on Linux) or Java NIO. In order to use the libaio module on Linux, you'll need to install libaio, if it's not already installed. If you're not running on Linux then you don't need to worry about this. @@ -43,7 +43,7 @@ apt-get install libaio
- Stand-alone HornetQ Server + Stand-alone ActiveMQ Server After downloading the distribution, unzip it into your chosen directory. At this point it should be possible to run straight out of the box, the following describes the directory structure: @@ -73,28 +73,28 @@ - bin -- binaries and scripts needed to run HornetQ. + bin -- binaries and scripts needed to run ActiveMQ. - config -- configuration files needed to configure HornetQ. This - contains configurations to run HornetQ either in stand-alone or inside JBoss AS 4 and 5. + config -- configuration files needed to configure ActiveMQ. This + contains configurations to run ActiveMQ either in stand-alone or inside JBoss AS 4 and 5. Please refer to the reference guide for details on configuration. - docs -- guides and javadocs for HornetQ + docs -- guides and javadocs for ActiveMQ examples -- JMS and Java EE examples. Please refer to the 'running examples' chapter for details on how to run them. - lib -- jars and libraries needed to run HornetQ + lib -- jars and libraries needed to run ActiveMQ - licenses -- licenses for HornetQ + licenses -- licenses for ActiveMQ - schemas -- XML Schemas used to validate HornetQ configuration + schemas -- XML Schemas used to validate ActiveMQ configuration files diff --git a/docs/quickstart-guide/en/introduction.xml b/docs/quickstart-guide/en/introduction.xml index faded49f77..abd47bc4da 100644 --- a/docs/quickstart-guide/en/introduction.xml +++ b/docs/quickstart-guide/en/introduction.xml @@ -18,15 +18,15 @@ + %BOOK_ENTITIES; ]> Getting Started This short guide explains how to download, install and quickly get started with - HornetQ. + ActiveMQ. After downloading and installing we highly recommend you run the examples to get - acquainted with HornetQ. We ship with over 70 examples demonstrating most of the + acquainted with ActiveMQ. We ship with over 70 examples demonstrating most of the features. This guide is not intended to be a replacement for the user manual. The user manual goes into much more depth, so please consult that for further information. diff --git a/docs/quickstart-guide/en/notice.xml b/docs/quickstart-guide/en/notice.xml index f5c5f05e48..d8796f50c6 100644 --- a/docs/quickstart-guide/en/notice.xml +++ b/docs/quickstart-guide/en/notice.xml @@ -17,7 +17,7 @@ + %BOOK_ENTITIES; ]> diff --git a/docs/quickstart-guide/en/running.xml b/docs/quickstart-guide/en/running.xml index 56333e9552..826c514fe2 100644 --- a/docs/quickstart-guide/en/running.xml +++ b/docs/quickstart-guide/en/running.xml @@ -18,24 +18,24 @@ + %BOOK_ENTITIES; ]> Starting The Server
- Standalone HornetQ + Standalone ActiveMQ To run a stand-alone server, open up a shell or command prompt and navigate into the bin directory. Then execute ./hornetq run (or ./hornetq.cmd run on Windows) and you should see the following output bin$ ./hornetq run - 11:05:06,589 INFO [org.apache.activemq.integration.bootstrap] HQ101000: Starting HornetQ Server + 11:05:06,589 INFO [org.apache.activemq.integration.bootstrap] HQ101000: Starting ActiveMQ Server ... - 11:05:10,848 INFO [org.apache.activemq.core.server] HQ221001: HornetQ Server version 2.5.0.SNAPSHOT (Wild Hornet, 125) [e32ae252-52ee-11e4-a716-7785dc3013a3] + 11:05:10,848 INFO [org.apache.activemq.core.server] HQ221001: ActiveMQ Server version 2.5.0.SNAPSHOT (Wild Hornet, 125) [e32ae252-52ee-11e4-a716-7785dc3013a3] - HornetQ is now running. + ActiveMQ is now running. Both the run and the stop scripts use the config under config/non-clustered by default. The configuration can be changed by running ./hornetq run xml:../config/non-clustered/bootstrap.xml or another config of @@ -43,8 +43,8 @@ The server can be stopped by running ./hornetq stop
- HornetQ In Wildfly - HornetQ is the Default Messaging Provider in the ActiveMQ In Wildfly + ActiveMQ is the Default Messaging Provider in the Wildfly Application Server To run the server you need to run the standalone-full.xml configuration by running the command './standalone.sh -c standalone-full.xml'. You will see something like:/ @@ -89,7 +89,7 @@ 14:47:42,471 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) JBAS017519: Undertow HTTP listener default listening on /127.0.0.1:8080 14:47:42,823 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-10) JBAS015012: Started FileSystemDeploymentService for directory /home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/deployments 14:47:42,882 INFO [org.jboss.as.remoting] (MSC service thread 1-16) JBAS017100: Listening on 127.0.0.1:9999 - 14:47:43,037 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221000: live server is starting with configuration HornetQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingjournal,bindingsDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingbindings,largeMessagesDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messaginglargemessages,pagingDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingpaging) + 14:47:43,037 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221000: live server is starting with configuration ActiveMQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingjournal,bindingsDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingbindings,largeMessagesDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messaginglargemessages,pagingDirectory=/home/andy/projects/wildfly/build/target/wildfly-8.0.0.Beta1-SNAPSHOT/standalone/data/messagingpaging) 14:47:43,062 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221006: Waiting to obtain live lock 14:47:43,103 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221012: Using AIO Journal 14:47:43,313 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ224067: Adding protocol support CORE @@ -107,12 +107,12 @@ 14:47:44,362 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221020: Started Netty Acceptor version 3.6.6.Final-90e1eb2 127.0.0.1:5445 for CORE protocol 14:47:44,364 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221020: Started Netty Acceptor version 3.6.6.Final-90e1eb2 org.apache.activemq.default.servlet:5445 for CORE protocol 14:47:44,366 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221007: Server is now live - 14:47:44,366 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221001: HornetQ Server version 2.4.0.Beta2 (Andromedian Flyer, 123) [bcc1cd10-2bfb-11e3-ad5f-9f88840f9e1a] + 14:47:44,366 INFO [org.apache.activemq.core.server] (ServerService Thread Pool -- 58) HQ221001: ActiveMQ Server version 2.4.0.Beta2 (Andromedian Flyer, 123) [bcc1cd10-2bfb-11e3-ad5f-9f88840f9e1a] 14:47:44,435 INFO [org.jboss.as.messaging] (ServerService Thread Pool -- 58) JBAS011601: Bound messaging object to jndi name java:/ConnectionFactory 14:47:44,437 INFO [org.jboss.as.messaging] (ServerService Thread Pool -- 59) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/ServletConnectionFactory 14:47:44,439 INFO [org.jboss.as.messaging] (ServerService Thread Pool -- 60) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/RemoteConnectionFactory 14:47:44,462 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-3) JBAS010406: Registered connection factory java:/JmsXA - 14:47:44,531 INFO [org.apache.activemq.ra] (MSC service thread 1-3) HornetQ resource adaptor started + 14:47:44,531 INFO [org.apache.activemq.ra] (MSC service thread 1-3) ActiveMQ resource adaptor started 14:47:44,532 INFO [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-3) IJ020002: Deployed: file://RaActivatorhornetq-ra 14:47:44,535 INFO [org.jboss.as.connector.deployment] (MSC service thread 1-12) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA] 14:47:44,536 INFO [org.jboss.as.messaging] (MSC service thread 1-15) JBAS011601: Bound messaging object to jndi name java:jboss/DefaultJMSConnectionFactory diff --git a/docs/quickstart-guide/pom.xml b/docs/quickstart-guide/pom.xml index c8ffe386b4..932d813fcd 100644 --- a/docs/quickstart-guide/pom.xml +++ b/docs/quickstart-guide/pom.xml @@ -19,8 +19,8 @@ en - HornetQ_QuickStart_Guide - HornetQ QuickStart Guide + ActiveMQ_QuickStart_Guide + ActiveMQ QuickStart Guide diff --git a/docs/quickstart-guide/zh/about.xml b/docs/quickstart-guide/zh/about.xml index 393d60bdf8..1022aa1bd3 100644 --- a/docs/quickstart-guide/zh/about.xml +++ b/docs/quickstart-guide/zh/about.xml @@ -19,25 +19,25 @@ - 关于HornetQ - 什么是HornetQ? + 关于ActiveMQ + 什么是ActiveMQ? - HornetQ是一个开源项目。它的目标是一个多协议、可嵌入、高性能、可集群的异步的消息系统。 + ActiveMQ是一个开源项目。它的目标是一个多协议、可嵌入、高性能、可集群的异步的消息系统。 - 有关HornetQ是什么及不是什么的更多的问题,请访问 - FAQs wiki + 有关ActiveMQ是什么及不是什么的更多的问题,请访问 + FAQs wiki 页 - 为什么要使用HornetQ? 以下给出了几个理由: + 为什么要使用ActiveMQ? 以下给出了几个理由: - HornetQ是100%的开源软件。 HornetQ 采用 Apache v 2.0开源协议,对用户的限制最小。 + ActiveMQ是100%的开源软件。 ActiveMQ 采用 Apache v 2.0开源协议,对用户的限制最小。 - HornetQ的设计强调可用性。 + ActiveMQ的设计强调可用性。 采用Java语言编写。可以在任何Java 6+ 的平台上运行。这几乎包括了从Windows到IBM mainframes的每个平台。 @@ -49,11 +49,11 @@ 功能全面。不仅拥有其它成熟消息产品所具有的全部功能,而且还有很多独特的功能。 - HornetQ的设计遵从了简约的原则。对第三方软件的依赖极少。根据不同的需要, - HornetQ可以单独运行,也可以运行于JEE应用服务器中。它还可以嵌入到你自己的应用程序中。 + ActiveMQ的设计遵从了简约的原则。对第三方软件的依赖极少。根据不同的需要, + ActiveMQ可以单独运行,也可以运行于JEE应用服务器中。它还可以嵌入到你自己的应用程序中。 - 完美的可获得性。HornetQ提供自动客户端失效备援(automatic client failover)功能,能保证在服务器故障时没有消息丢失或消息重复。 + 完美的可获得性。ActiveMQ提供自动客户端失效备援(automatic client failover)功能,能保证在服务器故障时没有消息丢失或消息重复。 超级灵活的集群方案。可以控制集群进行消息负载均衡的方式。分布在不同地理位置的各个集群间可以通过非可靠的网络连接形成一个全球网络。 @@ -61,7 +61,7 @@ 请访问 wiki来全面了解HornetQ的所有功能介绍。 + url="http://www.jboss.org/community/wiki/ActiveMQFeatures">wiki来全面了解ActiveMQ的所有功能介绍。 diff --git a/docs/quickstart-guide/zh/download.xml b/docs/quickstart-guide/zh/download.xml index a15a51a758..c1575e5d3a 100644 --- a/docs/quickstart-guide/zh/download.xml +++ b/docs/quickstart-guide/zh/download.xml @@ -18,11 +18,11 @@ 下载 - HornetQ项目的官方地址是 ActiveMQ项目的官方地址是 http://hornetq.org/
软件下载 - HornetQ的下载地址是ActiveMQ的下载地址是http://hornetq.org/downloads.html
@@ -31,11 +31,11 @@ - HornetQ的 wiki + ActiveMQ的 wiki - 如果在使用HornetQ中发生任何问题,可以去我们的 如果在使用ActiveMQ中发生任何问题,可以去我们的 用户论坛 @@ -55,7 +55,7 @@ 还可以跟踪我们的twitter - HornetQ的Git代码库地址 ActiveMQ的Git代码库地址 https://github.com/hornetq/hornetq diff --git a/docs/quickstart-guide/zh/examples.xml b/docs/quickstart-guide/zh/examples.xml index adb2846ffc..8f7cba86b3 100644 --- a/docs/quickstart-guide/zh/examples.xml +++ b/docs/quickstart-guide/zh/examples.xml @@ -17,8 +17,8 @@ - 运行HornetQ例子 - 在HornetQ的examples目录下有两组例子,它们是: + 运行ActiveMQ例子 + 在ActiveMQ的examples目录下有两组例子,它们是: JMS例子 - 这些例子展示的是使用JMS发送与接收消息的功能。 @@ -47,7 +47,7 @@ 在运行每个例子时,都要先启动一个或多个单独的服务器。当例子运行完毕,再将它们停止。 做为演示我们这里运行queue例子。其它的例子可以参见用户手册。 - 首先打开一个命令行窗口(shell),进入到HornetQ的 首先打开一个命令行窗口(shell),进入到ActiveMQ的 examples/jms/queue目录。 敲入命令./build.sh (或者在Windows上build.bat),你 将看到如下的输出: @@ -78,22 +78,22 @@ a NIO. If your platform is Linux, install LibAIO to enable the AIO journal [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:08,437 WARN @main [Securit yStoreImpl] It has been detected that the cluster admin password which is used to replic ate management operation from one node to the other has not had its password changed fro -m the installation default. Please see the HornetQ user guide for instructions o +m the installation default. Please see the ActiveMQ user guide for instructions o n how to do this. - [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [HornetQCo + [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [ActiveMQCo nnectionFactory] read only is false - [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [HornetQCo + [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [ActiveMQCo nnectionFactory] read only is false - [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [HornetQCo + [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO @main [ActiveMQCo nnectionFactory] read only is false [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,991 WARN @main [JMSServ erManagerImpl] Binding for java:/ConnectionFactory already exists [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:10,991 WARN @main [JMSServ erManagerImpl] Binding for java:/XAConnectionFactory already exists [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:11,241 INFO @main [Messagi -ngServerImpl] HornetQ Server version 2.0.0.BETA5 (buzz-buzz, 107) started - [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:11,241 INFO @main [HornetQBoot -strapServer] HornetQ server started +ngServerImpl] ActiveMQ Server version 2.0.0.BETA5 (buzz-buzz, 107) started + [java] org.apache.activemq.jms.example.SpawnedJMSServer out:10:41:11,241 INFO @main [ActiveMQBoot +strapServer] ActiveMQ server started [java] org.apache.activemq.jms.example.SpawnedJMSServer out:STARTED:: [java] 10:41:11,276 INFO @main [JMSExample] using server0/client-jndi.properties f or jndi @@ -107,7 +107,7 @@ or jndi BUILD SUCCESSFUL Total time: 13 seconds - 恭喜!你已经成功地运行了你的第一个HornetQ例子。试着运行其它的例子。 + 恭喜!你已经成功地运行了你的第一个ActiveMQ例子。试着运行其它的例子。
Java EE例子 diff --git a/docs/quickstart-guide/zh/installation.xml b/docs/quickstart-guide/zh/installation.xml index dc89fd427d..f29fdaa9f1 100644 --- a/docs/quickstart-guide/zh/installation.xml +++ b/docs/quickstart-guide/zh/installation.xml @@ -18,15 +18,15 @@ 安装 - 本章讲述如何安装HornetQ。 + 本章讲述如何安装ActiveMQ。
准备 - HornetQ只能在Java 6或以上版本中运行 + ActiveMQ只能在Java 6或以上版本中运行 - 默认情况下HornetQ运行的内存是1GiB。如果你的电脑内存少于1GiB,或者你希望更多的内存给HornetQ,你 + 默认情况下ActiveMQ运行的内存是1GiB。如果你的电脑内存少于1GiB,或者你希望更多的内存给ActiveMQ,你 可以修改 bin/run.sh脚本文件。 - HornetQ有自己的快速日志系统,它能够使用libaio(在Linux上它是默认的)或Java的NIO。 + ActiveMQ有自己的快速日志系统,它能够使用libaio(在Linux上它是默认的)或Java的NIO。 如果要使用libaio,你需要首先在你的Linux上安装它。 如果你不在使用Linux,则不需要考虑这个问题。 要安装libaio,你可以使用root用户完成以下步骤: @@ -36,7 +36,7 @@ apt-get install libaio
- 单独的HornetQ服务器 + 单独的ActiveMQ服务器 将软件包下载后,将其解压到你选定的目录下。这里你就可以直接运行了。 下面给出了它的目录结构: @@ -65,35 +65,35 @@ - bin -- 运行HornetQ的二进制文件和脚本文件。 + bin -- 运行ActiveMQ的二进制文件和脚本文件。 - config -- HornetQ的配置文件。它包括了单独模式或者运行在 + config -- ActiveMQ的配置文件。它包括了单独模式或者运行在 JBoss AS 4 或 5中的配置。请参考配置索引来了解配置有详细信息。 - docs -- HornetQ的文档及Javadoc。 + docs -- ActiveMQ的文档及Javadoc。 examples -- JMS and Java EE例子。有关详细信息请参见 'running examples'一章。 - lib -- 运行HornetQ所需要的jar文件和库文件 + lib -- 运行ActiveMQ所需要的jar文件和库文件 - licenses -- HornetQ的软件协议 + licenses -- ActiveMQ的软件协议 - schemas -- HornetQ配置文件的XML Schema + schemas -- ActiveMQ配置文件的XML Schema
- HornetQ运行于JBoss应用服务器5.x - HornetQ可以部署在JBoss AS - 5中。目前默认的应用服务器没有安装HornetQ(HornetQ将是JBoss 6的默认JMS提供者),因此 - 你需要为HornetQ创建新的AS 5的配置(profile)。 + ActiveMQ运行于JBoss应用服务器5.x + ActiveMQ可以部署在JBoss AS + 5中。目前默认的应用服务器没有安装ActiveMQ(ActiveMQ将是JBoss 6的默认JMS提供者),因此 + 你需要为ActiveMQ创建新的AS 5的配置(profile)。 创建AS 5新配置的步骤: @@ -103,7 +103,7 @@ 设置环境变量JBOSS_HOME指向JBoss AS 5的安装目录。 - 运行HornetQ的config/jboss-as-5下的./build.sh (或 + 运行ActiveMQ的config/jboss-as-5下的./build.sh (或 者如果在Windows下运行build.bat)。 @@ -111,12 +111,12 @@ default-with-hornetq -- 这个相当于AS 5的default配置但其JMS提供者替换成为HornetQ。在这个配置中的HornetQ + >default配置但其JMS提供者替换成为ActiveMQ。在这个配置中的ActiveMQ 是非集群的。 all-with-hornetq -- 这个相当于AS 5的all配置但其JMS提供者替换成为HornetQ。这个配置中的HornetQ + >all配置但其JMS提供者替换成为ActiveMQ。这个配置中的ActiveMQ 是集群的。 @@ -124,8 +124,8 @@ $JBOSS_HOME/bin/run.sh -c default-with-hornetq
- HornetQ运行于JBoss应用服务器4.x - 为了在AS 4中安装HornetQ,你需要创建新的配置(profile)。 + ActiveMQ运行于JBoss应用服务器4.x + 为了在AS 4中安装ActiveMQ,你需要创建新的配置(profile)。 步骤如下: @@ -135,7 +135,7 @@ 设置环境变量JBOSS_HOME指向JBoss AS 4的安装目录。 - 运行HornetQ的config/jboss-as-4下的./build.sh (或 + 运行ActiveMQ的config/jboss-as-4下的./build.sh (或 者如果在Windows下运行build.bat)。 @@ -143,12 +143,12 @@ default-with-hornetq -- 这个相当于AS 4的default配置但其JMS提供者替换成为HornetQ。在这个配置中的HornetQ + >default配置但其JMS提供者替换成为ActiveMQ。在这个配置中的ActiveMQ 是非集群的。 all-with-hornetq -- 这个相当于AS 4的all配置但其JMS提供者替换成为HornetQ。这个配置中的HornetQ + >all配置但其JMS提供者替换成为ActiveMQ。这个配置中的ActiveMQ 是集群的。 diff --git a/docs/quickstart-guide/zh/introduction.xml b/docs/quickstart-guide/zh/introduction.xml index e29f4fc3de..4fc7adef09 100644 --- a/docs/quickstart-guide/zh/introduction.xml +++ b/docs/quickstart-guide/zh/introduction.xml @@ -18,8 +18,8 @@ 快速入手 - 本简短的指南给出了如何下载、安装HornetQ,以及尽快开始使用HornetQ。 - 我们强烈建议当下载安装完成后,运行HornetQ的例子来了解HornetQ。我们有70多个例子来展示几乎 - 所有HornetQ的功能。 - 本指南不能代替用户手册。用户手册包括更加完整和深入的信息,供用户进一步全面掌握HornetQ。 + 本简短的指南给出了如何下载、安装ActiveMQ,以及尽快开始使用ActiveMQ。 + 我们强烈建议当下载安装完成后,运行ActiveMQ的例子来了解ActiveMQ。我们有70多个例子来展示几乎 + 所有ActiveMQ的功能。 + 本指南不能代替用户手册。用户手册包括更加完整和深入的信息,供用户进一步全面掌握ActiveMQ。 diff --git a/docs/quickstart-guide/zh/master.xml b/docs/quickstart-guide/zh/master.xml index 3971baf1c5..8092d18d85 100644 --- a/docs/quickstart-guide/zh/master.xml +++ b/docs/quickstart-guide/zh/master.xml @@ -30,7 +30,7 @@ ]> - HornetQ快速指南 + ActiveMQ快速指南 Putting the buzz in messaging diff --git a/docs/quickstart-guide/zh/running.xml b/docs/quickstart-guide/zh/running.xml index 7833af850a..9a571b55c4 100644 --- a/docs/quickstart-guide/zh/running.xml +++ b/docs/quickstart-guide/zh/running.xml @@ -19,28 +19,28 @@ Starting The Server
- 单独HornetQ - 要运行单独的HornetQ服务,打开一个命令行窗口,进入到HornetQ的bin + 单独ActiveMQ + 要运行单独的ActiveMQ服务,打开一个命令行窗口,进入到ActiveMQ的bin 目录下,执行./run.sh (或者在Windows下 run.bat)。你将看到如下的输出: bin$ ./run.sh - 15:05:54,108 INFO @main [HornetQBootstrapServer] Starting HornetQ server + 15:05:54,108 INFO @main [ActiveMQBootstrapServer] Starting ActiveMQ server ... - 15:06:02,566 INFO @main [HornetQServerImpl] HornetQ Server version + 15:06:02,566 INFO @main [ActiveMQServerImpl] ActiveMQ Server version 2.0.0.CR3 (yellowjacket, 111) started - 这表明HornetQ已经启动并运行了。 + 这表明ActiveMQ已经启动并运行了。 默认情况下,不论是启动还是停止脚本都使用config/stand-alone/non-clustered 下的配置文件。要使用不同的配置目录,可运行./run.sh ../config/stand-alone/clustered 或者其它选定的目录。同样方法适用于停止脚本。
- HornetQ在JBoss AS 5.x中运行 - 要在JBoss AS 5运行HornetQ,你需要创建安装有HornetQ的AS 5的配置。然后用这个配置启动AS 5。 - 例如,要运行一个带有非集群的HornetQ服务的AS 5,进入ActiveMQ在JBoss AS 5.x中运行 + 要在JBoss AS 5运行ActiveMQ,你需要创建安装有ActiveMQ的AS 5的配置。然后用这个配置启动AS 5。 + 例如,要运行一个带有非集群的ActiveMQ服务的AS 5,进入$JBOSS_HOME/bin目录,然后键入: bin$ ./run.sh -c default-with-hornetq @@ -49,7 +49,7 @@ 15:18:35,462 INFO [ServerImpl] Release ID: JBoss (Microcontainer) [5.1.0.GA (build: SVNTag= JBoss_5_1_0_GA date=200905221053) ... - 15:19:30,305 INFO [HornetQServerImpl] HornetQ Server version + 15:19:30,305 INFO [ActiveMQServerImpl] ActiveMQ Server version 2.0.0.CR3 (yellowjacket, 111) started ... 15:19:43,601 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag= @@ -57,12 +57,12 @@
- HornetQ在JBoss AS 4中运行 - 首先按照与JBoss AS 5相同的步骤创建安装有HornetQ的AS 4配置 + ActiveMQ在JBoss AS 4中运行 + 首先按照与JBoss AS 5相同的步骤创建安装有ActiveMQ的AS 4配置 然后以相同的方式启动AS。
- HornetQ在JBoss AS 6.0中运行 - 从JBoss AS 6.0 M3开始,HornetQ已经是默认的(内建)JMS提供者。所以无需安装即可运行。 + ActiveMQ在JBoss AS 6.0中运行 + 从JBoss AS 6.0 M3开始,ActiveMQ已经是默认的(内建)JMS提供者。所以无需安装即可运行。
diff --git a/docs/user-manual/zh/appserver-integration.xml b/docs/user-manual/zh/appserver-integration.xml index 7d283054df..82e9b00a30 100644 --- a/docs/user-manual/zh/appserver-integration.xml +++ b/docs/user-manual/zh/appserver-integration.xml @@ -18,15 +18,15 @@ Java EE和应用服务器的集成 - HornetQ可以容易地安装到JBoss 4应用服务器及其以上版本。有关安装的详细说明请参阅快速指南。 - HornetQ提供了一个JCA适配器,使得它还可以与其它JEE兼容的应用服务器集成。请参阅其它应用服务器的 + ActiveMQ可以容易地安装到JBoss 4应用服务器及其以上版本。有关安装的详细说明请参阅快速指南。 + ActiveMQ提供了一个JCA适配器,使得它还可以与其它JEE兼容的应用服务器集成。请参阅其它应用服务器的 有关JCA适配器集成的说明来操作。 JCA适配器的作用是控制消息流入到消息Bean(MDB),并控制消息从各种JEE模块中发出(如EJB和Servlet)。 - 本章讲述这些JEE模块配置HornetQ的基本信息。 + 本章讲述这些JEE模块配置ActiveMQ的基本信息。
配置消息Bean - 使用HornetQ向MDB传递消息,需要在文件ra.xml中配置JCA适配器。该文件在 - jms-ra.rar文件中。默认配置下HornetQ服务使用InVm连接器接收消息。在本章 + 使用ActiveMQ向MDB传递消息,需要在文件ra.xml中配置JCA适配器。该文件在 + jms-ra.rar文件中。默认配置下ActiveMQ服务使用InVm连接器接收消息。在本章 后面列出了可配置的选项。 所有MDB都需要有目标类型和目标的相关配置。下面就是一个使用annotation配置MDB的例子: @MessageDriven(name = "MDBExample", @@ -41,7 +41,7 @@ public class MDBExample implements MessageListener public void onMessage(Message message)... } 上例中配置了MDB从一个队列中接收消息,它的JNDI绑定名为queue/testQueue。 - 这个队列必须事先在HornetQ服务器配置文件中配置并部署好的。 + 这个队列必须事先在ActiveMQ服务器配置文件中配置并部署好的。 ResourceAdapter annotation用来指出使用哪个适配器。要使用它必须要引入 org.jboss.ejb3.annotation.ResourceAdapter (JBoss AS 5.x或以上)。 这个类在 @@ -55,10 +55,10 @@ public class MDBExample implements MessageListener 你还可以将hornetq-ra.rar改名为jms-ra.rar而不需要任何annotation或额外的部署描述信息。但是你需要 编辑jms-ds.xml文件,将其中的rar-name项改成相应的值。 - HornetQ是JBoss AS 6默认的JMS提供者。从这个版本开始HornetQ的资源适配器名字是 + ActiveMQ是JBoss AS 6默认的JMS提供者。从这个版本开始ActiveMQ的资源适配器名字是 jms-ra.rar,并且你不需要在MDB的annotation中指定它。 - HornetQ发布包中的所有例子都使用annotation方法。 + ActiveMQ发布包中的所有例子都使用annotation方法。
使用容器管理事务(CMT) 当MDB使用容器管理事务时,消息的传递被包含在一个JTA事务中。事务的提交与回滚是由容器来控制的。如果事务 @@ -270,12 +270,12 @@ public class MyMDB implements MessageListener
配置JCA适配器 - 通过JCA适配器可以将HornetQ集成到JEE兼容的模块中,如MDB和EJB。它的配置决定了这些模块如何接收和发送消息。 - HornetQ的JCA适配器是通过jms-ra.rar部署的。它的配置文件中其中的 + 通过JCA适配器可以将ActiveMQ集成到JEE兼容的模块中,如MDB和EJB。它的配置决定了这些模块如何接收和发送消息。 + ActiveMQ的JCA适配器是通过jms-ra.rar部署的。它的配置文件中其中的 META-INF/ra.xml 下面是它的具体配置内容: <resourceadapter> - <resourceadapter-class>org.apache.activemq.ra.HornetQResourceAdapter</resourceadapter-class> + <resourceadapter-class>org.apache.activemq.ra.ActiveMQResourceAdapter</resourceadapter-class> <config-property> <description>The transport type</description> <config-property-name>ConnectorClassName</config-property-name> @@ -292,7 +292,7 @@ public class MyMDB implements MessageListener <outbound-resourceadapter> <connection-definition> - <managedconnectionfactory-class>org.apache.activemq.ra.HornetQRAManagedConnection + <managedconnectionfactory-class>org.apache.activemq.ra.ActiveMQRAManagedConnection Factory</managedconnectionfactory-class> <config-property> @@ -309,12 +309,12 @@ public class MyMDB implements MessageListener <config-property-value>0</config-property-value> </config-property> - <connectionfactory-interface>org.apache.activemq.ra.HornetQRAConnectionFactory + <connectionfactory-interface>org.apache.activemq.ra.ActiveMQRAConnectionFactory </connectionfactory-interface> - <connectionfactororg.apache.activemq.ra.HornetQConnectionFactoryImplonFactoryImpl + <connectionfactororg.apache.activemq.ra.ActiveMQConnectionFactoryImplonFactoryImpl </connectionfactory-impl-class> <connection-interface>javax.jms.Session</connection-interface> - <connection-impl-class>org.apache.activemq.ra.HornetQRASession + <connection-impl-class>org.apache.activemq.ra.ActiveMQRASession </connection-impl-class> </connection-definition> <transaction-support>XATransaction</transaction-support> @@ -332,7 +332,7 @@ public class MyMDB implements MessageListener <messagelistener> <messagelistener-type>javax.jms.MessageListener</messagelistener-type> <activationspec> - <activationspec-class>org.apache.activemq.ra.inflow.HornetQActivationSpec + <activationspec-class>org.apache.activemq.ra.inflow.ActiveMQActivationSpec </activationspec-class> <required-config-property> <config-property-name>destination</config-property-name> @@ -357,11 +357,11 @@ public class MyMDB implements MessageListener
适配器的全局参数 - 首先看到的第一个参数是resourceadapter-class。这是HornetQ + 首先看到的第一个参数是resourceadapter-class。这是ActiveMQ 的适配器类。此参数不可更改。 在此之后是可配置的参数。前两个配置适配器所使用的传输。其余的用来配置连接工厂。 所有连接工厂的参数在没有定义时使用默认值。参数reconnectAttempts - 的默认值取-1,表示如果连接失败,HornetQ会不停地尝试重新连接。这个参数只适用于创建远程 + 的默认值取-1,表示如果连接失败,ActiveMQ会不停地尝试重新连接。这个参数只适用于创建远程 连接的情况。如果是InVm连接器,则永远不可能发生连接故障。 下面给出了每个参数的说明: @@ -650,14 +650,14 @@ public class MyMDB implements MessageListener 在这个文件中的连接工厂的配置从主要的配置文件ra.xml中继承, 但是可以在这里重新定义。下面的例子中给出了重新定义的方法。 - 请注意这里的配置只适用于在JBoss应用服务器中安装的HornetQ。如果要在其它JEE应用服务器中 - 使用并配置HornetQ,请参照相应的应用服务器手册。 + 请注意这里的配置只适用于在JBoss应用服务器中安装的ActiveMQ。如果要在其它JEE应用服务器中 + 使用并配置ActiveMQ,请参照相应的应用服务器手册。 <tx-connection-factory> <jndi-name>RemoteJmsXA</jndi-name> <xa-transaction/> <rar-name>jms-ra.rar</rar-name> - <connection-definition>org.apache.activemq.ra.HornetQRAConnectionFactory + <connection-definition>org.apache.activemq.ra.ActiveMQRAConnectionFactory </connection-definition> <config-property name="SessionDefaultType" type="String">javax.jms.Topic </config-property> @@ -777,8 +777,8 @@ private ConnectionFactory connectionFactory;
- 配置适配器访问单独的HornetQ服务器 - 在有的情况下,消息服务器与应用服务器运行在不同的机器上。这时客户端只需要安装HornetQ的客户端的库文件。本节给出了具体的配置和所需要的jar文件。 + 配置适配器访问单独的ActiveMQ服务器 + 在有的情况下,消息服务器与应用服务器运行在不同的机器上。这时客户端只需要安装ActiveMQ的客户端的库文件。本节给出了具体的配置和所需要的jar文件。
你需要配置两个配置文件。一个是MDB所用的内部适配器,另一个是可以创建外部连接的外部适配器。
@@ -797,16 +797,16 @@ private ConnectionFactory connectionFactory; 下创建名为 META-INF 的文件夹,然后在些文件夹内创建一个 - ra.xml配置文件。在HornetQ发布包中 + ra.xml配置文件。在ActiveMQ发布包中 有一个ra.xml模板文件供你使用。 - 要配置MDB接收远程HornetQ服务器的消息,你需要修改deploy/hornet-ra.rar/META-INF下面的 + 要配置MDB接收远程ActiveMQ服务器的消息,你需要修改deploy/hornet-ra.rar/META-INF下面的 ra.xml文件,将传输层改为netty连接器(不要使用invm连接器)及其相应的参数。下面 是一个配置的例子: - <resourceadapter-class>org.apache.activemq.ra.HornetQResourceAdapter</resourceadapter-class> + <resourceadapter-class>org.apache.activemq.ra.ActiveMQResourceAdapter</resourceadapter-class> <config-property> <description>The transport type</description> <config-property-name>ConnectorClassName</config-property-name> @@ -827,7 +827,7 @@ private ConnectionFactory connectionFactory; 配置外部适配器 你还需要创建一个hornetq-ds.xml文件来配置外部连接。该文件需要放置在deploy 下的任意一个文件夹中。在一相标准的安装中这个文件夹是horneq 或者 hornetq.sar。 - 当然你可以选择其它文件夹。该文件的名字只要是以-ds.xml即可。在HornetQ的发布包中包含有一个模板文件, + 当然你可以选择其它文件夹。该文件的名字只要是以-ds.xml即可。在ActiveMQ的发布包中包含有一个模板文件, 它的名字是jms-ds.xml,位置就在config文件夹下。 下面是一个配置的例子。 @@ -836,19 +836,19 @@ private ConnectionFactory connectionFactory; <jndi-name>RemoteJmsXA</jndi-name> <xa-transaction/> <rar-name>hornetq-ra.rar</rar-name> - <connection-definition>org.apache.activemq.ra.HornetQRAConnectionFactory</connection-definition> + <connection-definition>org.apache.activemq.ra.ActiveMQRAConnectionFactory</connection-definition> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="ConnectorClassName" type="java.lang.String">org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory</config-property> <config-property name="ConnectionParameters" type="java.lang.String">host=127.0.0.1;port=5446</config-property> <max-pool-size>20</max-pool-size> </tx-connection-factory> - 这个配置同样是连接到运行在本机上的端口为5446的HornetQ服务器。JEE模块可以通过JNDI查找 + 这个配置同样是连接到运行在本机上的端口为5446的ActiveMQ服务器。JEE模块可以通过JNDI查找 java:/RemoteJmsXA(由jndi-name参数定义)。如上节所述, 资源适配器根据文件夹下的配置来创建外部连接。
依赖的jar文件 - 下面列出了HornetQ所需要的第三方jar文件 + 下面列出了ActiveMQ所需要的第三方jar文件 Jar文件 @@ -865,17 +865,17 @@ private ConnectionFactory connectionFactory; hornetq-ra.jar - HornetQ资源适配器文件 + ActiveMQ资源适配器文件 deploy/hornetq-ra.rar或相应的位置 hornetq-core-client.jar - HornetQ核心客户类库 + ActiveMQ核心客户类库 在JBoss的default/lib下或者是$JBOSS_HOME/common/lib下。 hornetq-jms-client.jar - HornetQ的JMS类 + ActiveMQ的JMS类 同上 @@ -914,27 +914,27 @@ initialContext = new InitialContext(jndiParameters); 或网络崩溃等情况下,事务内所有资源的状态的一致性。有关XA恢复的更多信息请见 JBoss 事务。 - 当HornetQ与JBoss应用服务器集成时,它可以利用JBoss的事务处理来对消息资源进行恢复。如果消息处理包括 + 当ActiveMQ与JBoss应用服务器集成时,它可以利用JBoss的事务处理来对消息资源进行恢复。如果消息处理包括 在一个XA事务中,如果服务器出现故障并重启时,恢复管理器将负责恢复事务,这样其中的消息要么被提交,要么被回滚(取 决于事务的处理决定)。
XA恢复的配置 - 要想HornetQ具有XA恢复功能,则必须配置恢复管理器连接到HornetQ并恢复其资源。下面的参数必须要加到 + 要想ActiveMQ具有XA恢复功能,则必须配置恢复管理器连接到ActiveMQ并恢复其资源。下面的参数必须要加到 conf/jbossts-properties.xml文件中的jta部分: <properties depends="arjuna" name="jta"> ... - <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HornetQ1" - value="org.apache.activemq.jms.server.recovery.HornetQXAResourceRecovery;[连接配置]"/> + <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.ActiveMQ1" + value="org.apache.activemq.jms.server.recovery.ActiveMQXAResourceRecovery;[连接配置]"/> </properties> - 其中[连接配置]包括连接HornetQ节点所必需的信息。 + 其中[连接配置]包括连接ActiveMQ节点所必需的信息。 它的格式是[连接工厂类名],[用户名], [密码], [连接参数] [连接工厂类名]指的是ConnectorFactory - 的类名,用来连接HornetQ服务器。其值可以是org.apache.activemq.core.remoting.impl.invm.InVMConnectorFactoryorg.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory @@ -951,11 +951,11 @@ initialContext = new InitialContext(jndiParameters); - HornetQ必须有一个与conf/jbossts-properties.xml中定义的连接器相对应的接受器(acceptor)。 + ActiveMQ必须有一个与conf/jbossts-properties.xml中定义的连接器相对应的接受器(acceptor)。
配置参数 - 如果HornetQ配置了一个默认的in-vm接受器: + 如果ActiveMQ配置了一个默认的in-vm接受器: <acceptor name="in-vm"> <factory-class>org.apache.activemq.core.remoting.impl.invm.InVMAcceptorFactory</factory-class> @@ -965,7 +965,7 @@ initialContext = new InitialContext(jndiParameters); >conf/jbossts-properties.xml文件中: <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HORNETQ1" - value="org.apache.activemq.jms.server.recovery.HornetQXAResourceRecovery;org.apache.activemq.core.remoting.impl.invm.InVMConnectorFactory"/> + value="org.apache.activemq.jms.server.recovery.ActiveMQXAResourceRecovery;org.apache.activemq.core.remoting.impl.invm.InVMConnectorFactory"/> 如果配置了一个netty接受器,并且端口不是默认的: @@ -978,7 +978,7 @@ initialContext = new InitialContext(jndiParameters); >conf/jbossts-properties.xml文件中: <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HORNETQ1" - value="org.apache.activemq.jms.server.recovery.HornetQXAResourceRecovery;org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory, , , port=8888"/> + value="org.apache.activemq.jms.server.recovery.ActiveMQXAResourceRecovery;org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory, , , port=8888"/> 注意在没有用户名和密码时,逗号是不能省略的。 @@ -987,9 +987,9 @@ initialContext = new InitialContext(jndiParameters); 应为如下所示: <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.HORNETQ1" - value="org.apache.activemq.jms.server.recovery.HornetQXAResourceRecovery;org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory, admin, adminpass, port=8888"/> + value="org.apache.activemq.jms.server.recovery.ActiveMQXAResourceRecovery;org.apache.activemq.core.remoting.impl.netty.NettyConnectorFactory, admin, adminpass, port=8888"/> - 推荐在XA恢复中,将HornetQ配置一个invm接受器,并配置恢复管理器使用invm连接器。 + 推荐在XA恢复中,将ActiveMQ配置一个invm接受器,并配置恢复管理器使用invm连接器。
diff --git a/docs/user-manual/zh/architecture.xml b/docs/user-manual/zh/architecture.xml index d8d12a2b66..b50f7f3824 100644 --- a/docs/user-manual/zh/architecture.xml +++ b/docs/user-manual/zh/architecture.xml @@ -18,21 +18,21 @@ 总体架构 - 本章对HornetQ的总体技术架构进行了概括描述。 + 本章对ActiveMQ的总体技术架构进行了概括描述。
核心架构 - HornetQ的核心是由一组简单Java对象(POJO)构成的。同时在设计HornetQ时将对外部jar包的依赖降到最低限度。 - 实际上HornetQ的核心部分只有一个外部依赖,就是netty.jar。HornetQ使用了其中的用于缓冲的一些类。 + ActiveMQ的核心是由一组简单Java对象(POJO)构成的。同时在设计ActiveMQ时将对外部jar包的依赖降到最低限度。 + 实际上ActiveMQ的核心部分只有一个外部依赖,就是netty.jar。ActiveMQ使用了其中的用于缓冲的一些类。 我们相信这样的理念应该受到用户的欢迎。 - 由于依赖性很小,HornetQ可以非常容易地嵌入到其它应用中,或者加入到一些依赖注入式的框架中, + 由于依赖性很小,ActiveMQ可以非常容易地嵌入到其它应用中,或者加入到一些依赖注入式的框架中, 如JBoss Microcontainer,Spring或Google Guice。 - 每个HornetQ服务器都有自己的超高性能的持久日志(journal)用于消息和其它信息的持久化。 + 每个ActiveMQ服务器都有自己的超高性能的持久日志(journal)用于消息和其它信息的持久化。 采用这种独特的高效日志要比采用普通数据库作为持久层的系统拥有更高的性能。 - 通常情况下分布在不同物理机器上的客户端同时访问HornetQ服务器。目前HornetQ提供了两套API供客户端使用: + 通常情况下分布在不同物理机器上的客户端同时访问ActiveMQ服务器。目前ActiveMQ提供了两套API供客户端使用: - 核心API。这是一组普通的Java接口,用它可以访问HornetQ的全部功能。 + 核心API。这是一组普通的Java接口,用它可以访问ActiveMQ的全部功能。 JMS客户端API。这是标准的JMS API。 @@ -40,25 +40,25 @@ 实际上JMS API是在核心API的外部加上一层简单的封装。 - 在HornetQ内核是没有JMS的,这样设计的目的是为了支持多个协议。 - 当客户端通过JMS接口访问HornetQ时,所有JMS的操作都被转换成相应的核心API,然后将请求以HornetQ格式发向服务器。 - HornetQ服务器只接收核心API的访问。 + 在ActiveMQ内核是没有JMS的,这样设计的目的是为了支持多个协议。 + 当客户端通过JMS接口访问ActiveMQ时,所有JMS的操作都被转换成相应的核心API,然后将请求以ActiveMQ格式发向服务器。 + ActiveMQ服务器只接收核心API的访问。 图3.1描述了这些操作。 - 在图3.1中示出了两个用户访问HornetQ服务器。用户1使用JMS API,用户2使用的是核心API。 + 在图3.1中示出了两个用户访问ActiveMQ服务器。用户1使用JMS API,用户2使用的是核心API。 图中清楚的展示出了JMS是如何通过封装(facade)转化为核心API的。
- 将HornetQ嵌入到你的应用程序中 - 如果你的应用程序内部需要消息服务,但同时你又不想将消息服务暴露为单独的HornetQ服务器,你可以在应用中直接将HornetQ实例化。 - 有关嵌入式HornetQ的详细信息请参阅 将ActiveMQ嵌入到你的应用程序中 + 如果你的应用程序内部需要消息服务,但同时你又不想将消息服务暴露为单独的ActiveMQ服务器,你可以在应用中直接将ActiveMQ实例化。 + 有关嵌入式ActiveMQ的详细信息请参阅
- 将HornetQ与JEE应用服务器集成 - HornetQ提供了标准的JCA适配器,利用它可以将HornetQ轻松地集成到任何一个符合JEE规范的应用服务器或servlet容器中。 + 将ActiveMQ与JEE应用服务器集成 + ActiveMQ提供了标准的JCA适配器,利用它可以将ActiveMQ轻松地集成到任何一个符合JEE规范的应用服务器或servlet容器中。 JEE应用服务品提供了消息Bean(MDB)用于处理来自外部的消息,比如来自JMS系统或邮件系统的消息。 最常见的应用应该是用MDB来接收来自JMS系统中的消息了。在JEE规范中规定了JEE应用服务器使用JCA adaptor与JMS消息系统集成, MDB通过这个adaptor来接收消息。 @@ -66,8 +66,8 @@ 实际上JEE规范中不允许在JEE服务器中不通过JCA而直接访问JMS系统。 在EJB中使用消息往往需要连接池或交易,而JCA可以提供这方面的服务,无需额外的开发任务。当然直接访问JMS系统是可能的, 但是你将不能利用JCA所提供的这些有用的功能,因此我们不建议使用直接访问的方式。 - 图3.2给出了HornetQ通过JCA adaptor与JEE应用服务器集成的示意图。图中可以看出所有的交互都通过JCA adaptor。 - 图中带有禁止符号的箭头表明的是从EJB会话Bean直接访问HornetQ的情况。由于不通过JCA,这种方法往往造成每次EJB访问HornetQ都要新建一个连接和会话, + 图3.2给出了ActiveMQ通过JCA adaptor与JEE应用服务器集成的示意图。图中可以看出所有的交互都通过JCA adaptor。 + 图中带有禁止符号的箭头表明的是从EJB会话Bean直接访问ActiveMQ的情况。由于不通过JCA,这种方法往往造成每次EJB访问ActiveMQ都要新建一个连接和会话, 使效率大降低。这被视为反设计模式(anti-pattern)。 @@ -75,17 +75,17 @@ 对如何使用JCA给出了更加详细的描述。
- HornetQ作为独立的服务(standalone) - HornetQ可以部署成为独立的服务器。它可运行于任何JEE应用服务器之外,作为一个独立的服务运行。 - 作为独立服务器运行时,HornetQ消息服务器包括一个核心服务器,一个JMS服务以及一个JNDI服务。 + ActiveMQ作为独立的服务(standalone) + ActiveMQ可以部署成为独立的服务器。它可运行于任何JEE应用服务器之外,作为一个独立的服务运行。 + 作为独立服务器运行时,ActiveMQ消息服务器包括一个核心服务器,一个JMS服务以及一个JNDI服务。 JMS服务用来部署服务器端hornetq-jms.xml配置文件中的JMS Queue,Topic和ConnectionFactory实例。 此外它还提供一组简单的管理接口,通过这些接口可以创建、消毁(destroy)Queue,Topic和ConnectionFactory实例。 - 用于可以通过JMX或连接使用这些接口。JMS服务是单独的服务,它不是HornetQ核心服务。HornetQ的核心不包含JMS相关的服务。 + 用于可以通过JMX或连接使用这些接口。JMS服务是单独的服务,它不是ActiveMQ核心服务。ActiveMQ的核心不包含JMS相关的服务。 如果你不需要通过服务器端的xml配置文件部署任何JMS对象,也不需要JMS的管理接口,你可以选择不启动该服务。 启动JNDI服务的目的是因为JMS需要通过JNDI来获得Queue,Topic以及ConnectionFactory。如果不需要,也可以选择不启动该服务。 - HornetQ允许在客户端程序中通过编程来直接创建各种JMS对象和核心对象来代替JNDI查找,所以JNDI不是必需的。 - HornetQ采用JBoss Microcontainer来引导并实例化服务,并保证模块之间的依赖关系。JBoss Microcontainer是一个轻量级的POJO引导器(bootstrapper)。 - 图3.3给出了HornetQ独立服务器的架构。 + ActiveMQ允许在客户端程序中通过编程来直接创建各种JMS对象和核心对象来代替JNDI查找,所以JNDI不是必需的。 + ActiveMQ采用JBoss Microcontainer来引导并实例化服务,并保证模块之间的依赖关系。JBoss Microcontainer是一个轻量级的POJO引导器(bootstrapper)。 + 图3.3给出了ActiveMQ独立服务器的架构。 diff --git a/docs/user-manual/zh/client-classpath.xml b/docs/user-manual/zh/client-classpath.xml index 9a82ce36d9..e9fb049380 100644 --- a/docs/user-manual/zh/client-classpath.xml +++ b/docs/user-manual/zh/client-classpath.xml @@ -18,15 +18,15 @@ 客户端的Classpath - HornetQ的客户端Classpath需要有几个jar文件。具体是哪几个要根据客户端 + ActiveMQ的客户端Classpath需要有几个jar文件。具体是哪几个要根据客户端 是需要内核API、JMS和JNDI中的哪些服务来确定。 本章所提及的所有jar文件全部在HorneQ发布包的 lib目录下。在使用中一定 要确保所有的jar文件属于同一个发布版本。将不同版本的jar混在一起使用可能造成一些难以发现的错误。
- 使用HornetQ内核的客户端 - 如果客户端只使用HornetQ内核(非JMS客户端),需要将 使用ActiveMQ内核的客户端 + 如果客户端只使用ActiveMQ内核(非JMS客户端),需要将 hornetq-core-client.jarnetty.jar 放到classpath中。
@@ -41,7 +41,7 @@
需要JNDI的JMS客户端 - 如果你的JMS客户端使用JNDI来查找HornetQ单独服务器上的对象,你需要将 jnp-client.jar 增加 + 如果你的JMS客户端使用JNDI来查找ActiveMQ单独服务器上的对象,你需要将 jnp-client.jar 增加 到你的classpath中。
diff --git a/docs/user-manual/zh/client-reconnection.xml b/docs/user-manual/zh/client-reconnection.xml index 70ea03371a..c5aec70215 100644 --- a/docs/user-manual/zh/client-reconnection.xml +++ b/docs/user-manual/zh/client-reconnection.xml @@ -18,12 +18,12 @@ 客户端重新连接与会话恢复 - 通过配置,HornetQ的客户端在与服务器的连接出现故障时,可以自动地重新建立连接并恢复与服务器的通迅。 + 通过配置,ActiveMQ的客户端在与服务器的连接出现故障时,可以自动地重新建立连接并恢复与服务器的通迅。
100%透明的会话恢复(re-attachment) 如果网络出现暂时性连接故障,并且服务器没有重启的情况下,当前的会话还会存在服务器中,其状态如同客户端 没有断开超过连接TTL时间。 - 在这种情况下,当客户端重新连接上服务器后,HornetQ自动将客户端和会话与服务器端的会话重新连接起来。整个过程 + 在这种情况下,当客户端重新连接上服务器后,ActiveMQ自动将客户端和会话与服务器端的会话重新连接起来。整个过程 对于客户端是完全透明的,在客户端就好像什么都没有发生一样。 具体工作原理如下: 客户端再向服务器发送命令时,它将每个命令保存到内存的一块缓存中。当连接出现故障时客户端会尝试与该服务 @@ -36,7 +36,7 @@ 如果使用JMS服务,并且JMS的连接工厂是注册到JNDI的话,相应的参数是hornetq-jms.xml文件中的confirmation-window-size项。如果你并不将JMS连接工厂注册到JNDI,则你需要在 - HornetQConnectionFactory上使用相应的方法直接设置该参数。 + ActiveMQConnectionFactory上使用相应的方法直接设置该参数。 如果使用核心服务,你可以直接在ClientSessionFactory实例上直接设置该参数。 参数的单位是字节。 如果该参数是值设为-1,则关闭缓存,即关闭了重新恢复功能,迫使进行重新连接。默认 @@ -45,7 +45,7 @@
会话重新连接 有时服务器发生故障后进行了重启。这时服务器将丢失所有当前的会话,上面所述的会话恢复就不能做到完全透明了。 - 在这种情况下,HornetQ自动地重新建立连接并重新创建会话 + 在这种情况下,ActiveMQ自动地重新建立连接并重新创建会话 和接收者。这一过程与向备份服务器进行失效备援(failover)完全一样。 客户重新连接的功能还用在其它一些模块上,如核心桥,以使它们能够重新连接到目标服务器上。 要全面理解事务性会话和非事务性会话在失效备援/重连接情况下的细节,以及如何保证 @@ -100,7 +100,7 @@ </connection-factory> 如果使用JMS但是直接实例化JMS连接工厂,你可以使用适当的方法在 HornetQConnectionFactory 对象上直接设置这些参数。 + >ActiveMQConnectionFactory 对象上直接设置这些参数。 如果使用核心接口直接创建 ClientSessionFactory实例,则用它的适当的方法可以设置这些参数。 如果客户端重新连接后发现会话已经丢失(如服务器重启或超时),则无法完成恢复。如果在连接上或会话上注册了 diff --git a/docs/user-manual/zh/clusters.xml b/docs/user-manual/zh/clusters.xml index 824cd6bc24..011e2626a6 100644 --- a/docs/user-manual/zh/clusters.xml +++ b/docs/user-manual/zh/clusters.xml @@ -20,15 +20,15 @@ 集群
集群概述 - HornetQ集群是由一组HornetQ服务器组成的集合,它们协同合作进行消息处理。集群中每个主节点就是一个 - HornetQ服务器,它管理自己的连接并处理自己的消息。要将一个HornetQ服务器配置为集群服务器,需要将配置 + ActiveMQ集群是由一组ActiveMQ服务器组成的集合,它们协同合作进行消息处理。集群中每个主节点就是一个 + ActiveMQ服务器,它管理自己的连接并处理自己的消息。要将一个ActiveMQ服务器配置为集群服务器,需要将配置 文件activemq-configuration.xmlclustered的值设 为true。默认值是false 要组成一个集群,每个节点都要在其核心配置文件activemq-configuration.xml 中声明集群连接,用来建立与集群中其它节点的通迅。每两个节点间都是通过内部的一个 核心桥(参见)连接的。这些连接的建立是 透明的--你不需要为每个连接显式地声明一个桥。集群连接的作用是在集群的各个节点间进行负载平衡。 - HornetQ可以采用不同的拓扑结构来组成集群。本章后面将讲述几种常用的拓扑结构。 + ActiveMQ可以采用不同的拓扑结构来组成集群。本章后面将讲述几种常用的拓扑结构。 我们还将讨论客户端的负载均衡--客户端如何均衡其与集群各节点的连接,以及消息的再分配--在节点间合理 的分配消息以避免消息匮乏(starvation)。 本章还涉及集群的另一个重要方面--服务器发现,即服务器通过广播的方式将 @@ -58,7 +58,7 @@ 广播组包括了一系列的连接器对。每个连接器对由主服务器的连接器和备份(可选)服务器连接器信息组成。 广播组还定义了所使用的UDP的在址和端口信息。 广播组的配置中服务器配置文件activemq-configuration.xml中。一个HornetQ服务器可以有多个广播组。所有的广播组 + >activemq-configuration.xml中。一个ActiveMQ服务器可以有多个广播组。所有的广播组 必需定义在broadcast-groups内。 让我们来看一个activemq-configuration.xml文件中广播组的例子: <broadcast-groups> @@ -115,7 +115,7 @@ 一个发现组包括了一系列的连接器对--每个连接器对代表一个不同的服务器广播的连接器信息。每当接收一次广播, 这个连接对的列表就被更新一次。 如果在一定时间内没有收到某个服务器的广播,则其相应的连接器对将从列表中删除。 - 发现组在HornetQ中有两处应用: + 发现组在ActiveMQ中有两处应用: 在创建集群连接时用来判断集群中哪些服务器是可以连接的。 @@ -164,7 +164,7 @@
客户端的发现组 - 现在讨论如何配置HornetQ客户端来发现可以连接的服务器列表。使用JMS时所用的方法与使用核心接口时所用的 + 现在讨论如何配置ActiveMQ客户端来发现可以连接的服务器列表。使用JMS时所用的方法与使用核心接口时所用的 方法有所不同。
使用JMS时客户端发现的配置方法 @@ -186,7 +186,7 @@ final int groupPort = 9876; ConnectionFactory jmsConnectionFactory = - HornetQJMSClient.createConnectionFactory(groupAddress, groupPort); + ActiveMQJMSClient.createConnectionFactory(groupAddress, groupPort); Connection jmsConnection1 = jmsConnectionFactory.createConnection(); @@ -205,7 +205,7 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection(); final String groupAddress = "231.7.7.7"; final int groupPort = 9876; - SessionFactory factory = HornetQClient.createClientSessionFactory(groupAddress, groupPort); + SessionFactory factory = ActiveMQClient.createClientSessionFactory(groupAddress, groupPort); ClientSession session1 = factory.createClientSession(...); ClientSession session2 = factory.createClientSession(...); @@ -222,7 +222,7 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();
服务器端消息的负载均衡 - 如果集群和各节点间定义了集群连接,HornetQ可以对到达一个节点的消息进行负载均衡。 + 如果集群和各节点间定义了集群连接,ActiveMQ可以对到达一个节点的消息进行负载均衡。 举一个简单的例子。一个集群有4个节点,分别称为节点A、B、C和节点D。它们组成了一个 对称式集群(有关对称式集群参见)。 在每个节点上部署了一个名为OrderQueue的队列。 @@ -233,14 +233,14 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();OrderQueue队列中。这种消息分配完全在服务器端完成,客户端只向节点A发送消息。 例如到达节点A的消息可能以下列顺序进行分配:B、D、C、A、B、D、C、A、B、D。具体的顺序取决于节点启动的 先后,但是其算法是不变的(即round-robin)。 - HornetQ集群连接在进行消息负载均衡时,可以配置成统一负载均衡模式,即不管各个节点上有无合适的接收者,一律在 + ActiveMQ集群连接在进行消息负载均衡时,可以配置成统一负载均衡模式,即不管各个节点上有无合适的接收者,一律在 所有节点间进行消息的分配。也可以配置成为智能负载均衡模式,即只将消息分配到有合适接收者的节点上。这两种模式我们 都将举例说明。首先我们先介绍一般的集群连接配置。
配置集群连接 集群连接将一组服务器连接成为一个集群,消息可以在集群的节点之间进行负载均衡。集群连接的配置在 activemq-configuration.xml文件中的 - cluster-connection内。一个HornetQ服务器可以有零个或多个集群连接。 + cluster-connection内。一个ActiveMQ服务器可以有零个或多个集群连接。 下面是一个典型的例子: <cluster-connections> @@ -262,9 +262,9 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();本例中的集群连接只对发往以jms为开始的地址的消息进行负载均衡的 处理。这个集群连接实际上能够处理所有JMS队列和话题的订阅中的消息,这是国为所有JMS的队列 或订阅都映射到内核中以“jms“开头的队列。 - 这个地址可以为任何值,而且可以配置多个集群连接,每个连接的地址值可以不同。这样HornetQ + 这个地址可以为任何值,而且可以配置多个集群连接,每个连接的地址值可以不同。这样ActiveMQ 可以同时对不同地址同时进行消息的负载均衡。有的地址甚至可能在其它集群的节点中。这也就意谓着 - 一个HornetQ服务器可以同时参与到多个集群中。 + 一个ActiveMQ服务器可以同时参与到多个集群中。 要注意别造成多个集群连接的地址互相重复。比如,地址“europe“和”europe.news“就互相重复, 就会造成同一个消息会被多个集群连接进行分配,这样有可能发生重复传递。 本参数是必须指定的。 @@ -291,16 +291,16 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection(); 如果这个参数设为true,则消息就会轮流在每个节点间分配,不管是否 节点上有没有相应的接收者(或者有接收者但是具有不匹配的选择器)。注意,如果其它节点中没有 - 与本节点同名的队列,HornetQ不会将消息转发到那些节点中去,不受本参数的限制。 - 如果参数设为false, HornetQ中将消息转发到集群中那些有着适合接收者 + 与本节点同名的队列,ActiveMQ不会将消息转发到那些节点中去,不受本参数的限制。 + 如果参数设为false, ActiveMQ中将消息转发到集群中那些有着适合接收者 的节点中。如果接收者有选择器,则至少有一个选择器与所转发的消息匹配才可,否则不转发。 本参数是可选的,默认值是false max-hops。当一个集群连接在确定进行消息负载均衡的节点组时,这些 - 节点不一定是与本节点直接相连的节点。HornetQ可以通过其它HornetQ节点作为中介向那些非直接相 + 节点不一定是与本节点直接相连的节点。ActiveMQ可以通过其它ActiveMQ节点作为中介向那些非直接相 连的节点转发消息。 - 这样可以使HornetQ组成更加复杂的拓扑结构并且仍可提供消息的负载均衡。在本章的后面我们还要作 + 这样可以使ActiveMQ组成更加复杂的拓扑结构并且仍可提供消息的负载均衡。在本章的后面我们还要作 进一步的讨论。 本参数是可选参数,它的默认值是 1,表示消息只向直接相连的节点进行负载均衡。 @@ -312,22 +312,21 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();
集群用户的安全信息 - - 当集群中两个节点建立连接时,HornetQ使用一个集群用户和集群密码。它们定义在 + 当集群中两个节点建立连接时,ActiveMQ使用一个集群用户和集群密码。它们定义在 activemq-configuration.xml文件中: <cluster-user>HORNETQ.CLUSTER.ADMIN.USER</cluster-user> <cluster-password>CHANGE ME!!</cluster-password> 强烈建议在实际应用中不要使用默认的值,否则任意远程客户端会使用这些默认值连接到服务器上。当使用默认值时, - HornetQ会检测到并在每次启动的时候给出警告。 + ActiveMQ会检测到并在每次启动的时候给出警告。
客户端负载均衡 - HornetQ的客户端负载均衡使同一个会话工厂每次创建一个会话时,都连接到集群不同的节点上。这样可以使所的有会话 + ActiveMQ的客户端负载均衡使同一个会话工厂每次创建一个会话时,都连接到集群不同的节点上。这样可以使所的有会话 均匀分布在集群的各个节点上,而不会‘拥挤’到某一个节点上。 - 客户端负载均衡的策略是可配置的。HornetQ提供两种现成的负载均衡策略。你也可以实现自己的策略。 + 客户端负载均衡的策略是可配置的。ActiveMQ提供两种现成的负载均衡策略。你也可以实现自己的策略。 两种现成的策略是: @@ -356,14 +355,14 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();上面的配置将部署一个连接工厂,它的连接负载均衡策略是随机策略。 如果使用JMS,但是你在客户端是直接创建连接工厂的实例,那么你需要用相应的方法在HornetQConnectionFactory上直接设置: + >ActiveMQConnectionFactory上直接设置: -ConnectionFactory jmsConnectionFactory = HornetQJMSClient.createConnectionFactory(...); +ConnectionFactory jmsConnectionFactory = ActiveMQJMSClient.createConnectionFactory(...); jmsConnectionFactory.setLoadBalancingPolicyClassName("com.acme.MyLoadBalancingPolicy"); 如果你使用核心接口的话,你要直接在ClientSessionFactory上设置策略: -ClientSessionFactory factory = HornetQClient.createClientSessionFactory(...); +ClientSessionFactory factory = ActiveMQClient.createClientSessionFactory(...); factory.setLoadBalancingPolicyClassName("com.acme.MyLoadBalancingPolicy"); 连接工厂进行负载均衡的服务器组可以有两种方法来确定: @@ -409,7 +408,7 @@ factory.setLoadBalancingPolicyClassName("com.acme.MyLoadBalancingPolicy"); activemq-configuration.xml文件中定义的一个连接器。 有关连接器更多的信息参见连接工厂这样就保存有一组[连接器, 备份连接器]对,用于客户端在创建连接时的负载均衡。 - 如果你使用JMS,但不使用JNDI,你可以直接创建HornetQConnectionFactory + 如果你使用JMS,但不使用JNDI,你可以直接创建ActiveMQConnectionFactory 的实例,然后用相应的方法来设定连接器对列表,如下例:List<Pair<TransportConfiguration, TransportConfiguration>> serverList = new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>(); @@ -420,14 +419,14 @@ serverList.add(new Pair<TransportConfiguration, serverList.add(new Pair<TransportConfiguration, TransportConfiguration>(liveTC2, backupTC2)); -ConnectionFactory jmsConnectionFactory = HornetQJMSClient.createConnectionFactory(serverList); +ConnectionFactory jmsConnectionFactory = ActiveMQJMSClient.createConnectionFactory(serverList); Connection jmsConnection1 = jmsConnectionFactory.createConnection(); Connection jmsConnection2 = jmsConnectionFactory.createConnection(); 上面的代码中我们创建了一组TransportConfiguration对象。每个 TransportConfiguration对象包括了如何连接某个特定服务器的信息。 - 然后,使用这个服务器列表创建了一个HornetQConnectionFactory实例。 + 然后,使用这个服务器列表创建了一个ActiveMQConnectionFactory实例。 这样通过这个工厂创建的连接就可以使用这个列表,由所用的客户连接负载均衡策略来进行连接的负载均衡。
@@ -444,7 +443,7 @@ serverList.add(new Pair<TransportConfiguration, serverList.add(new Pair<TransportConfiguration, TransportConfiguration>(liveTC2, backupTC2)); -ClientSessionFactory factory = HornetQClient.createClientSessionFactory(serverList); +ClientSessionFactory factory = ActiveMQClient.createClientSessionFactory(serverList); ClientSession sesison1 = factory.createClientSession(...); @@ -452,7 +451,7 @@ ClientSession session2 = factory.createClientSession(...); 在上面的代码中我们创建了一组ClientSessionFactoryImpl对象。每个 TransportConfiguration对象包括了如何连接某个特定服务器的信息。 有关信息请参见 - 然后,使用这个服务器列表创建了一个HornetQConnectionFactory实例。 + 然后,使用这个服务器列表创建了一个ActiveMQConnectionFactory实例。 这样通过这个工厂创建的会话就可以使用这个列表,由所用的客户连接负载均衡策略来进行连接的负载均衡。
@@ -481,7 +480,7 @@ ClientSession session2 = factory.createClientSession(...); activemq-configuration.xml文件中定义的一个连接器。 有关连接器的详细信息参见 - 由于HornetQ 2.0.0的限制,使用静态节点列表的集群不支持失效备援(failover)。要想支持失效备援, + 由于ActiveMQ 2.0.0的限制,使用静态节点列表的集群不支持失效备援(failover)。要想支持失效备援, 就必须使用发现组。
@@ -493,7 +492,7 @@ ClientSession session2 = factory.createClientSession(...); 这样可以有效避免了消息被送到一个不可能被接收的节点上。但仍然有一个问题无法解决:就是如果在消息发到一个节点后, 它的接收者被关闭,那么这些消息仍然不能被接收了,造成了一种消息匮乏情形。 这种情况下如何处理?
- 这里就需要消息再分配功能。通过配置,HornetQ可以将没有接收者的队列中的消息再次分配 + 这里就需要消息再分配功能。通过配置,ActiveMQ可以将没有接收者的队列中的消息再次分配 到有接收者的节点上去。 通过配置,消息可以在队列最后一个接收者关闭时立即进行,也可以配置成等待一段时间再进行。默认消息再分配功能是 关闭的。 @@ -509,7 +508,7 @@ ClientSession session2 = factory.createClientSession(...); >redistribution-delay值为0。它适用于所有以“jms“开头的 地址。由于所有JMS队列与话题订阅都绑定到以”jms“为开头的地址,所以上述配置的立即方式(没有延迟)消息 再分配适用于所有的JMS队列和话题订阅。 - match属性可以是精确匹配,也可以使用通配符。通配符要符合HornetQ的通配符 + match属性可以是精确匹配,也可以使用通配符。通配符要符合ActiveMQ的通配符 语法(在中描述)。 redistribution-delay定义了队列最后一个接收者关闭后在进行消息再分配前所等待的 @@ -520,7 +519,7 @@ ClientSession session2 = factory.createClientSession(...);
集群拓扑结构 - HornetQ集群可以有多种拓扑结构。我们来看两个最常见的结构。 + ActiveMQ集群可以有多种拓扑结构。我们来看两个最常见的结构。
对称式集群 对称式集群可能是最常见的集群方式了。如果你接触过JBoss应用服务器的集群,你就对这种方式很熟悉。 diff --git a/docs/user-manual/zh/configuration-index.xml b/docs/user-manual/zh/configuration-index.xml index fb133918d6..079703b6ee 100644 --- a/docs/user-manual/zh/configuration-index.xml +++ b/docs/user-manual/zh/configuration-index.xml @@ -18,12 +18,12 @@ 配置参数索引 - 本章给出了HornetQ配置参数的索引,以便查阅。点击任意一个配置参数可以转到其所属的章节。 + 本章给出了ActiveMQ配置参数的索引,以便查阅。点击任意一个配置参数可以转到其所属的章节。
服务器配置
activemq-configuration.xml - HornetQ主要核心服务器配置文件 + ActiveMQ主要核心服务器配置文件
服务器配置 @@ -194,7 +194,7 @@ jmx-domain String - 用于HornetQ MBean注册到MBeanServer的JMX域名 + 用于ActiveMQ MBean注册到MBeanServer的JMX域名 org.apache.activemq diff --git a/docs/user-manual/zh/configuring-transports.xml b/docs/user-manual/zh/configuring-transports.xml index dd22d0243c..1d28de80f9 100644 --- a/docs/user-manual/zh/configuring-transports.xml +++ b/docs/user-manual/zh/configuring-transports.xml @@ -18,11 +18,11 @@ 传输层的配置 - HornetQ的传输层是“可插拔的”。通过灵活的配置和一套服务提供接口(SPI),HornetQ可以很容易地更换其传输层。 - 在本章中我们将对HornetQ的传输相关的概念作出解释,并说明它的配置方法。 + ActiveMQ的传输层是“可插拔的”。通过灵活的配置和一套服务提供接口(SPI),ActiveMQ可以很容易地更换其传输层。 + 在本章中我们将对ActiveMQ的传输相关的概念作出解释,并说明它的配置方法。
接收器(Acceptor) - 接收器(acceptor)是 HornetQ 的传输层中最为重要的概念之一。首先 + 接收器(acceptor)是 ActiveMQ 的传输层中最为重要的概念之一。首先 介绍一下在文件activemq-configuration.xml中是怎样定义一个接收器的: <acceptors> @@ -36,12 +36,12 @@ org.apache.activemq.core.remoting.impl.netty.NettyAcceptorFactory 所有接收器都在 acceptors单元(element)内定义。在acceptors 内可以有零个或多个接收器的定义。每个服务器所拥有的接收器的数量是没有限制的。 - 每个接收器都要定义其与HornetQ服务器连接的方式。 + 每个接收器都要定义其与ActiveMQ服务器连接的方式。 以上的例子中我们定义了一个Netty接收器。它在端口5446监听连接请求。 acceptor单元内有一个子单元factory-class。这个单元是用来 定义创建连接器的工厂类。一个连接器工厂类必须要实现AcceptorFactory接口。上例中我们定义 - 的连接器工厂是类NettyAcceptorFactory使用Netty来建立连接。有个这个类定义,HornetQ就知道了用什么传输来建立连接了。 + 的连接器工厂是类NettyAcceptorFactory使用Netty来建立连接。有个这个类定义,ActiveMQ就知道了用什么传输来建立连接了。 acceptor中还可以配置零或多个参数param。在每个param 中定义的是键-值对(key-value)。这些参数用来配置某个传输实现。不同传输有不同的配置参数。 像IP地址、端口号等都是传输配置参数的例子。 @@ -71,9 +71,9 @@ org.apache.activemq.core.remoting.impl.netty.NettyAcceptorFactory connectors下定义连接器。 - 如果你使用JMS服务,需要创建连接工厂的实例并绑定到JNDI。在HornetQ创建 - HornetQConnectionFactory时需要连接器的必要信息,以便这个连接工厂 - 能知道它如何与HornetQ服务器相连接。 + 如果你使用JMS服务,需要创建连接工厂的实例并绑定到JNDI。在ActiveMQ创建 + ActiveMQConnectionFactory时需要连接器的必要信息,以便这个连接工厂 + 能知道它如何与ActiveMQ服务器相连接。 这一信息被定义在配置文件hornetq-jms.xml中的connector-ref单元下。下面这段配置 就是从该配置文件中提取的相关部分,它展示了JMS的连接工厂是如何引用定义在配置文件
配置 Netty 传输层 - HornetQ当前使用ActiveMQ当前使用Netty作为其默认的连接层。Netty是一个高性能的底层网络库. Netty传输的配置有几种不同的方法。它可以使用传统的Java IO(阻塞方式)、NIO(非阻塞)或直接使用 TCP socket及SSL。或者使用HTTP或HTTPS协议。同时还可能使用servlet进行传输。 @@ -202,7 +202,7 @@ etc 默认值是32768字节(32KiB)。 - batch-delay。HornetQ可以通过配置该参数,在数据包写入传输层之前有一个 + batch-delay。ActiveMQ可以通过配置该参数,在数据包写入传输层之前有一个 最大延时(毫秒),达到批量写入的目的。这样可以提高小消息的发送效率。但这样做会增加单个消息的平均发送 延迟。默认值为0毫秒。 @@ -214,7 +214,7 @@ etc 较大的呑吐量的话,将它设为false - nio-remoting-threads。如果使用NIO,默认情况下HornetQ会使用系统中处理 + nio-remoting-threads。如果使用NIO,默认情况下ActiveMQ会使用系统中处理 器内核(或超线程)数量三倍的线程来处理接收的数据包。内核的数量是通过调用Runtime.getRuntime().availableProcessors()来得到的。如果你想改变这个数量, 你可以设定本参数。默认的值是-1,表示线程数为
配置Netty HTTP - Netty HTTP 通过HTTP通道传送数据包。在有些用户环境中防火墙只允许有HTTP通信,这时采用Netty HTTP作为HornetQ + Netty HTTP 通过HTTP通道传送数据包。在有些用户环境中防火墙只允许有HTTP通信,这时采用Netty HTTP作为ActiveMQ 的传输层就能解决问题。 我们提供了一个Netty HTTP的例子来演示其配置和应用。 Netty HTTP具有和Netty TCP同样的配置参数,另外它还有以下参数: @@ -276,14 +276,14 @@ etc
配置Netty Servlet - HornetQ可以使用Netty servlet来传输消息。使用servlet可以将HornetQ的数据通过HTTP传送到一个 - 运行的servlet,再由servlet转发给HornetQ服务器。 - servlet与HTTP的不同之处在于,当用HTTP传输时,HornetQ如同一个web服务器,它监听在某个端口上的HTTP - 请求并返回响应。比如80端口或8080端口。而当使用servlet时,HornetQ的传输数据是通过运行在某一servlet容器 + ActiveMQ可以使用Netty servlet来传输消息。使用servlet可以将ActiveMQ的数据通过HTTP传送到一个 + 运行的servlet,再由servlet转发给ActiveMQ服务器。 + servlet与HTTP的不同之处在于,当用HTTP传输时,ActiveMQ如同一个web服务器,它监听在某个端口上的HTTP + 请求并返回响应。比如80端口或8080端口。而当使用servlet时,ActiveMQ的传输数据是通过运行在某一servlet容器 中的一个特定的servlet来转发的。而这个sevlet容器中同时还可能运行其他的应用,如web服务。当一个公司有多个应用 - 但只允许一个http端口可以访问时,servlet传输可以很好的解决HornetQ的传输问题。 - 请参见HornetQ所提供的servlet例子来了解详细的配置方法。 - 要在HornetQ中使用Netty servlet传输方式,需要以下步骤: + 但只允许一个http端口可以访问时,servlet传输可以很好的解决ActiveMQ的传输问题。 + 请参见ActiveMQ所提供的servlet例子来了解详细的配置方法。 + 要在ActiveMQ中使用Netty servlet传输方式,需要以下步骤: 部署servlet。下面是一个web.xml例子: @@ -292,7 +292,7 @@ etc xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> - <servlet-name>HornetQServlet</servlet-name> + <servlet-name>ActiveMQServlet</servlet-name> <servlet-class>org.jboss.netty.channel.socket.http.HttpTunnelingServlet</servlet-class> <init-param> <param-name>endpoint</param-name> @@ -302,8 +302,8 @@ etc </servlet> <servlet-mapping> - <servlet-name>HornetQServlet</servlet-name> - <url-pattern>/HornetQServlet</url-pattern> + <servlet-name>ActiveMQServlet</servlet-name> + <url-pattern>/ActiveMQServlet</url-pattern> </servlet-mapping> </web-app> @@ -337,7 +337,7 @@ etc <param key="host" value="localhost"/> <param key="port" value="8080"/> <param key="use-servlet" value="true"/> - <param key="servlet-path" value="/messaging/HornetQServlet"/> + <param key="servlet-path" value="/messaging/ActiveMQServlet"/> </connector> </connectors> @@ -357,7 +357,7 @@ etc <param key="host" value="localhost"/> <param key="port" value="8443"/> <param key="use-servlet" value="true"/> - <param key="servlet-path" value="/messaging/HornetQServlet"/> + <param key="servlet-path" value="/messaging/ActiveMQServlet"/> <param key="ssl-enabled" value="true"/> <param key="key-store-path" value="path to a keystoree"/> <param key="key-store-password" value="keystore password"/> diff --git a/docs/user-manual/zh/connection-ttl.xml b/docs/user-manual/zh/connection-ttl.xml index bd79d0c7a7..c2a3066736 100644 --- a/docs/user-manual/zh/connection-ttl.xml +++ b/docs/user-manual/zh/connection-ttl.xml @@ -18,7 +18,7 @@ 失效连接的检测 - 本章将讨论连接的生存时间(TTL)以及HornetQ如何处理出现故障的客户端或者异常退出的客户端(即客户端在 + 本章将讨论连接的生存时间(TTL)以及ActiveMQ如何处理出现故障的客户端或者异常退出的客户端(即客户端在 退出时没有合理的关闭相关资源)。
服务器端对失效连接的清除 @@ -31,7 +31,7 @@ ClientSession session = null; try { - sf = HornetQClient.createClientSessionFactory(...); + sf = ActiveMQClient.createClientSessionFactory(...); session = sf.createSession(...); @@ -56,7 +56,7 @@ Connection jmsConnection = null; try { - ConnectionFactory jmsConnectionFactory = HornetQJMSClient.createConnectionFactory(...); + ConnectionFactory jmsConnectionFactory = ActiveMQJMSClient.createConnectionFactory(...); jmsConnection = jmsConnectionFactory.createConnection(); @@ -74,15 +74,15 @@ finally 程序突然中断,相关资源也没有来得及关闭! 如果上述情况发生了,那么这些资源就会留在服务器端而不会被清理。这就会造成资源泄漏现象并最終导致服务器内存 溢出或其它资源的溢出错误。 - 因此在服务器端要有某种机制来避免资源的泄漏。也就是对无效资源进行回收。在判断什么是无效资源时,HornetQ + 因此在服务器端要有某种机制来避免资源的泄漏。也就是对无效资源进行回收。在判断什么是无效资源时,ActiveMQ 考虑到了客户端重新连接的情况。就是当一个连接由于网络临时中断后又恢复正常时,客户端有可能通过不断重试 成功地连接到服务器端。如果服务器端过早清除了相关的连接资源,则客户端就可能重试失败。 - HornetQ的资源回收是完全可配置的。每个 ActiveMQ的资源回收是完全可配置的。每个 ClientSessionFactory 有一个连接 TTL的参数。 这个参数的意义是当客户端的一个连接没有任何数到达服务器时,服务器充许这个连接有效的最长时间。客户端通过定 时向服务器端发送“ping“数据包来维持连接的有效,以免被服务器关掉。如果服务器在TTL指定的时间内没有收到任何 数据包,则认为该连接无效,继而关闭与该连接相关的所有的会话(session)。 - 如果使用JMS,HornetQConnectionFactoryConnectionTTL + 如果使用JMS,ActiveMQConnectionFactoryConnectionTTL 属性是用来定义连接的存活时间的。如果你将JMS连接工厂部署到JNDI中,则应使用配置文件中的connection-ttl参数来定义连接的TTL。 默认的连接TTL值是60000毫秒,即一分钟。 ConnectionTTL @@ -93,7 +93,7 @@ finally
关闭没有被成功关闭的核心会话或JMS连接 如前所述,在使用完毕后在finally中将所有的核心会话或JMS连接关闭是十分重要的。 - 如果你没有这样做,HornetQ会在拉圾回收时进行检测并会在日志中打印类似以下的警告(如果是JMS则在警告中 + 如果你没有这样做,ActiveMQ会在拉圾回收时进行检测并会在日志中打印类似以下的警告(如果是JMS则在警告中 是相应的JMS连接): @@ -107,7 +107,7 @@ at org.apache.activemq.core.client.impl.DelegatingSession.<init>(Delegatin at org.acme.yourproject.YourClass (YourClass.java:666) - HornetQ然后将未关闭的连接/会话关闭。 + ActiveMQ然后将未关闭的连接/会话关闭。 注意在日志的警告中还给出了创建JMS连接/客户端会话的具体行号,以便准确地确定出错的地方。
@@ -119,7 +119,7 @@ at org.acme.yourproject.YourClass (YourClass.java:666) 如果在属性client-failure-check-period所定义的时间内(单位毫秒)客户端没有 收到任何数据,客户端就认为这们连接发生了故障。根据不同的配置,客户端在这种情况下要么进行failover,要么 调用FailureListener的接口(或者是JMS的ExceptionListener)。 - 如果使用JMS,这个参数是HornetQConnectionFactoryClientFailureCheckPeriod。 + 如果使用JMS,这个参数是ActiveMQConnectionFactoryClientFailureCheckPeriod。 如果你向JNDI部署JMS连接工厂,那么相应的参数在hornetq-jms.xml配置文件中,参数名 为client-failure-check-period 这个参数的默认值是30000毫秒,即半分钟。-1表示客户端不检查 diff --git a/docs/user-manual/zh/core-bridges.xml b/docs/user-manual/zh/core-bridges.xml index d72e64b6b7..2b25269de2 100644 --- a/docs/user-manual/zh/core-bridges.xml +++ b/docs/user-manual/zh/core-bridges.xml @@ -18,17 +18,17 @@ 核心桥 - 桥的功能是从一个源队列中接收消息,再将消息转发到目的地址。通常这个目的地址在另外一个HornetQ服务器中。 + 桥的功能是从一个源队列中接收消息,再将消息转发到目的地址。通常这个目的地址在另外一个ActiveMQ服务器中。 源与目的不需要在同一个集群中。所以桥很适合将消息从一个集群中可靠地转发到另一个集群。比如通过一个WAN,或 internet,等连接不稳定的网络。 桥有处理故障的能力。如果目的服务器的连接失败(像网络故障),桥会重试与目的服务器的连接,直接连接成功 为止。当连接成功后,桥则继续进行工作。 - 总之,桥是可靠连接两个HornetQ服务器的一种手段。使用核心桥时源和目的服务器必须都是HornetQ服务器。 + 总之,桥是可靠连接两个ActiveMQ服务器的一种手段。使用核心桥时源和目的服务器必须都是ActiveMQ服务器。 桥可以通过配置提供一次且只有一次的传递保证。其采用的方法是重复检测(详细 描述在)。 核心桥的功能与JMS桥的功能相似,但是不能将它们混淆! - 核心桥用来连接两个HornetQ节点,它不使用JMS接口。JMS桥使用的是JMS接口,它连接的是任何两个符合 + 核心桥用来连接两个ActiveMQ节点,它不使用JMS接口。JMS桥使用的是JMS接口,它连接的是任何两个符合 JMS 1.1规范的服务器。因此,JMS桥可以将两个不同的JMS服务器连接起来。从性能角度考虑,核心桥由于采用 重复检测来实现一次且只一次的传递保证,可以提供更高的性能。 JMS桥则需要使用XA这种复杂的机制来提供同样的传递保证,因些性能要比核心桥低。 diff --git a/docs/user-manual/zh/diverts.xml b/docs/user-manual/zh/diverts.xml index 828af0f27e..2a8e81e631 100644 --- a/docs/user-manual/zh/diverts.xml +++ b/docs/user-manual/zh/diverts.xml @@ -20,7 +20,7 @@ 消息的转发(divert)与分流 - 在HornetQ中可以配置一些称为转发器(diverts)的对象。 + 在ActiveMQ中可以配置一些称为转发器(diverts)的对象。 转发器可以将路由到一个地址的消息透明地转发到其它的地址去,不需要客户端的参与。 转发器可以是唯一(exclusive)的,即消息只转发到新的地址,不发到原 来的地址;也可以是不唯一(non-exclusive)的,即消息在发往原有地址的 @@ -61,7 +61,7 @@ 的消息才被转发到新地址,其它消息则继续发往原地址。如果没有定义过滤器,所有消息将被转发。 本例中还配置了一个转换器的类。当每转发一个消息时,该转换器就被执行一次。转换器可以对消息在转发前进行 更改。这里的转换器只是在消息中加入了一个记录转发时间的消息头。 - 本例中消息被转发到一个’存贮与转发是‘队列,然后通过一个桥将消息转发到另一个HornetQ服务器中。 + 本例中消息被转发到一个’存贮与转发是‘队列,然后通过一个桥将消息转发到另一个ActiveMQ服务器中。
不唯一转发器 diff --git a/docs/user-manual/zh/duplicate-detection.xml b/docs/user-manual/zh/duplicate-detection.xml index a6c8ea9fe3..10ef543dd3 100644 --- a/docs/user-manual/zh/duplicate-detection.xml +++ b/docs/user-manual/zh/duplicate-detection.xml @@ -20,8 +20,8 @@ 重复消息检测 - HornetQ具有强大的自动检测重复消息的功能。应用层无需实现复杂的重复检测。本章解释了什么是重复检测,它 - 在HornetQ中如何工作的,以及如何进行配置。 + ActiveMQ具有强大的自动检测重复消息的功能。应用层无需实现复杂的重复检测。本章解释了什么是重复检测,它 + 在ActiveMQ中如何工作的,以及如何进行配置。 当客户端向服务器端发送消息时,或者从一个服务器向另一个服务器传递消息时,如果消息发送后目标服务器或者 连接出现故障,导致发送一方没有收到发送成功的确认信息,发送方因此就无法确定消息是否已经成功发送到了目标地 址。 @@ -33,7 +33,7 @@ 个相同的订单,这当然不是所希望的結果。 将消息的发送放到一个事务中也不能解决这个问题。如果在事务提交的过程中发生故障,同样不能确定这个事务是否提交 成功! - 为了解决这个问题,HornetQ提供了自动消息重复检测功能。 + 为了解决这个问题,ActiveMQ提供了自动消息重复检测功能。
在消息发送中应用重复检测 在消息发送中启用重复检测功能十分简单:你只需将消息的一个特殊属性设置一个唯一值。你可以用任意方法来 @@ -113,7 +113,7 @@ message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);
分页转存与重复检测 - HornetQ在将消息进行分页转存中也使用了重复检测。当分页转存消息被从磁盘中读回到内存时,如果服务器发生故障, + ActiveMQ在将消息进行分页转存中也使用了重复检测。当分页转存消息被从磁盘中读回到内存时,如果服务器发生故障, 重复检测可以避免在这一过程中有消息被重复读入,即避免了消息的重复传递。 关于分页转存的配置信息请参见
diff --git a/docs/user-manual/zh/embedding-hornetq.xml b/docs/user-manual/zh/embedding-hornetq.xml index ec213bc741..9fe437fccc 100644 --- a/docs/user-manual/zh/embedding-hornetq.xml +++ b/docs/user-manual/zh/embedding-hornetq.xml @@ -17,19 +17,19 @@ - 嵌入式HornetQ - HornetQ是由简单传统Java对象(POJO)实现,因此它可以在任何依赖注入的框架中运行,比如JBoss + 嵌入式ActiveMQ + ActiveMQ是由简单传统Java对象(POJO)实现,因此它可以在任何依赖注入的框架中运行,比如JBoss Microcontainer,Sprint或Google Guice。另外如果你的应用程序内部需要消息功能,你可以在程序中 - 直接实例化HornetQ的客户端或服务器端。我们称之为嵌入式 - HornetQ。 - 有些应用需要高性能、事务性及持久化的消息服务,但是又不希望自己去费时费力实现它。于是嵌入式HornetQ就 + 直接实例化ActiveMQ的客户端或服务器端。我们称之为嵌入式 + ActiveMQ。 + 有些应用需要高性能、事务性及持久化的消息服务,但是又不希望自己去费时费力实现它。于是嵌入式ActiveMQ就 成为了一个很适当的选择。 - 要使用嵌入式HornetQ只需要几个简单的步骤。首先初始化配置对象,再初始化服务器并启动它,在你的虚拟机 - 中就运行越来了一个HornetQ服务器。就是这么简单。 + 要使用嵌入式ActiveMQ只需要几个简单的步骤。首先初始化配置对象,再初始化服务器并启动它,在你的虚拟机 + 中就运行越来了一个ActiveMQ服务器。就是这么简单。
POJO的初始化 按照以下步骤去做: - 创建配置对象--这个对象包装了HornetQ的配置信息。如果你想使用配置文件,则使用创建配置对象--这个对象包装了ActiveMQ的配置信息。如果你想使用配置文件,则使用FileConfigurationImpl import org.apache.activemq.core.config.Configuration; import org.apache.activemq.core.config.impl.FileConfiguration; @@ -56,29 +56,29 @@ transports.add(new TransportConfiguration(NettyAcceptorFactory.class.getName())) transports.add(new TransportConfiguration(InVMAcceptorFactory.class.getName())); config.setAcceptorConfigurations(transports); - 接着就需要初始化并启动HornetQ服务。org.apache.activemq.api.core.server.HornetQ类有一些静态方法可用来创建HornetQ服务器。 - import org.apache.activemq.api.core.server.HornetQ; -import org.apache.activemq.core.server.HornetQServer; + 接着就需要初始化并启动ActiveMQ服务。org.apache.activemq.api.core.server.ActiveMQ类有一些静态方法可用来创建ActiveMQ服务器。 + import org.apache.activemq.api.core.server.ActiveMQ; +import org.apache.activemq.core.server.ActiveMQServer; ... -HornetQServer server = HornetQ.newHornetQServer(config); +ActiveMQServer server = ActiveMQ.newActiveMQServer(config); server.start(); - 你还可以直接实例化HornetQServerImpl - HornetQServer server = - new HornetQServerImpl(config); + 你还可以直接实例化ActiveMQServerImpl + ActiveMQServer server = + new ActiveMQServerImpl(config); server.start();
使用依赖注入框架 - 你还可以使用一个依赖注入框架来启动HornetQ,比如JBoss + 你还可以使用一个依赖注入框架来启动ActiveMQ,比如JBoss MicrocontainerSpring框架 - HornetQ独立服务器使用的是JBoss Microcontainer作为其框架。在HornetQ的发布中包括的HornetQBootstrapServerhornetq-beans.xml文件共同实现了 - 在JBoss Microcontainer中对HornetQ服务器的引导。 - 要使用JBoss Microcontainer,需要在xml文件中声明HornetQServer + ActiveMQ独立服务器使用的是JBoss Microcontainer作为其框架。在ActiveMQ的发布中包括的ActiveMQBootstrapServerhornetq-beans.xml文件共同实现了 + 在JBoss Microcontainer中对ActiveMQ服务器的引导。 + 要使用JBoss Microcontainer,需要在xml文件中声明ActiveMQServerConfiguration对象。另外还可以注入一个安全管理器和一个MBean服务器。但是这些 注入是可选的。 下面是一个基本的JBoss Microcontainer的XML Bean的声明: @@ -92,8 +92,8 @@ server.start(); </bean> <!-- The core server --> - <bean name="HornetQServer" - class="org.apache.activemq.core.server.impl.HornetQServerImpl"> + <bean name="ActiveMQServer" + class="org.apache.activemq.core.server.impl.ActiveMQServerImpl"> <constructor> <parameter> <inject bean="Configuration"/> @@ -101,18 +101,18 @@ server.start(); </constructor> </bean> </deployment> - HornetQBootstrapServer实现了JBoss Microcontainer的简单封装。 - HornetQBootstrapServer bootStrap = - new HornetQBootstrapServer(new String[] {"hornetq-beans.xml"}); + ActiveMQBootstrapServer实现了JBoss Microcontainer的简单封装。 + ActiveMQBootstrapServer bootStrap = + new ActiveMQBootstrapServer(new String[] {"hornetq-beans.xml"}); bootStrap.run();
- 连接嵌入式HornetQ - 嵌入式HornetQ的连接和普通的连接一样要创建连接工厂: + 连接嵌入式ActiveMQ + 嵌入式ActiveMQ的连接和普通的连接一样要创建连接工厂:
核心接口 使用核心接口,需要创建一个ClientSessionFactory然后正常建立连接。 - ClientSessionFactory nettyFactory = HornetQClient.createClientSessionFactory( + ClientSessionFactory nettyFactory = ActiveMQClient.createClientSessionFactory( new TransportConfiguration( InVMConnectorFactory.class.getName())); @@ -140,10 +140,10 @@ session.close();
JMS接口 - 使用JMS接口连接嵌入HornetQ同样简单。只需要直接实例化 + 使用JMS接口连接嵌入ActiveMQ同样简单。只需要直接实例化 ConnectionFactory即可。如下面例子所示: ConnectionFactory cf = - HornetQJMSClient.createConnectionFactory( + ActiveMQJMSClient.createConnectionFactory( new TransportConfiguration(InVMConnectorFactory.class.getName())); Connection conn = cf.createConnection(); @@ -172,7 +172,7 @@ conn.close();
- JMS嵌入式HornetQ的例子 - 有关如何设置与运行JMS嵌入式HornetQ的例子请参见 + JMS嵌入式ActiveMQ的例子 + 有关如何设置与运行JMS嵌入式ActiveMQ的例子请参见
diff --git a/docs/user-manual/zh/examples.xml b/docs/user-manual/zh/examples.xml index 430dc64968..875b2963b6 100644 --- a/docs/user-manual/zh/examples.xml +++ b/docs/user-manual/zh/examples.xml @@ -18,11 +18,11 @@ 例子 - 在HornetQ的发布包中有超过70个不同的例子。这些例子直接可以运行。它们分别展示了HornetQ所具有的各种功能。 - 所有的例子都在HornetQ发布包的 examples目录下。所有的例子被分成了两大类: + 在ActiveMQ的发布包中有超过70个不同的例子。这些例子直接可以运行。它们分别展示了ActiveMQ所具有的各种功能。 + 所有的例子都在ActiveMQ发布包的 examples目录下。所有的例子被分成了两大类: JMS例子和内核例子。JMS例子展现的是JMS的各种功能,内核的例子则展示的是内核API的功能。 - 此外HornetQ还提供了一些Java EE的例子,这些例子需要JBoss应用服务器才能运行。 + 此外ActiveMQ还提供了一些Java EE的例子,这些例子需要JBoss应用服务器才能运行。
JMS 例子 要运行一个JMS例子,只要进入到相应例子的子目录,运行 ./build.sh (或者 @@ -30,10 +30,10 @@ 下面列出的这些JMS例子并配有简要的说明。
应用层的失效备援(Failover) - HornetQ支持应用层的失效备援。这在服务器端没有复制(replication)配置的情况下是很有用的。 - 应用程序可以注册一个JMS ExceptionListener。当HornetQ检测到连接故障时,它会 + ActiveMQ支持应用层的失效备援。这在服务器端没有复制(replication)配置的情况下是很有用的。 + 应用程序可以注册一个JMS ExceptionListener。当ActiveMQ检测到连接故障时,它会 通知这个注册的Listener。 - 这个ExceptionListener在接到HornetQ的通知后可以与其它的节点创建 + 这个ExceptionListener在接到ActiveMQ的通知后可以与其它的节点创建 新的连接、会话等对象,以使应用程序能继续运行。 应用层的失效备援是实现高可获得性(HA)的一种方法。它与自动失效备援不同之处在于它需要编写额外的代码。 同时由于发生故障时旧的会话结束,这会造成那些还没来得及提交的工作丢失,还会造成任何没有通知的消息被重发。 @@ -42,12 +42,12 @@ 内核桥(Bridge)例子 bridge例子展示的是将一个内核桥部署到一个服务器上,从本地的queue接收消息并将其转发到 另一服务器的地址上。 - 内核的bridge可用来在两个互相分开的HornetQ的服务器间建立一个消息流。它可以处理临时性的连接故障,特别适用于 + 内核的bridge可用来在两个互相分开的ActiveMQ的服务器间建立一个消息流。它可以处理临时性的连接故障,特别适用于 不可靠的网络的情况。广域网就是一个例子。
浏览器(Browser) - browser例子展示的是在HornetQ中如何使用JMS browser例子展示的是在ActiveMQ中如何使用JMS QueueBrowser 有关JMS queue的概念在JMS 1.1 specification有明确的定义,这里就不再叙述。 一个QueueBrowser可以用来观察queue中的消息而影响它们。它可以观察queue中的全部 @@ -60,7 +60,7 @@
客户端的负载均衡 client-side-load-balancing例子展示的是通过一个JMS连接可以在集群的不同节点上创建 - 会话。也就是说HornetQ可以对客户端的会话创建进行集群内的负载均衡。 + 会话。也就是说ActiveMQ可以对客户端的会话创建进行集群内的负载均衡。
集群分组 @@ -87,8 +87,8 @@
限制接收速率 - HornetQ可以控制一个JMS消息接收者接收消息的速度。这是在创建或部署连接工厂时通过其配置参数来完成的。 - 如果设置了这个速度的限制,HornetQ会保证其向接收者传递消息的速度永远不会超过这个限制。 + ActiveMQ可以控制一个JMS消息接收者接收消息的速度。这是在创建或部署连接工厂时通过其配置参数来完成的。 + 如果设置了这个速度的限制,ActiveMQ会保证其向接收者传递消息的速度永远不会超过这个限制。
死消息(Dead Letter) @@ -102,57 +102,57 @@
延迟再发送 - delayed-redelivery是一个展示如何配置HornetQ延迟再发送消息的例子。 + delayed-redelivery是一个展示如何配置ActiveMQ延迟再发送消息的例子。 当客户端经常发生故障或发生事务回滚时,消息会不停地重复发送,这样会造成CPU和网络资源被不间断的 重复发送所占用,影响其它工作的进行。延迟再发送可以有效地减轻这种情况。
转移(Divert) - HornetQ通过配置可以将消息从一个地址自动地转移到另一地址。这个例子就是向用户展示转移的配置和使用。 + ActiveMQ通过配置可以将消息从一个地址自动地转移到另一地址。这个例子就是向用户展示转移的配置和使用。
持久订阅(Durable Subscription) - durable-subscription是一个在HornetQ中如何使用持久订阅(durable + durable-subscription是一个在ActiveMQ中如何使用持久订阅(durable subscription)的例子。持久订阅是标准JMS的一部分,在JMS 1.1规范中有它的详细定义。 对于一个持久订阅来说,它的消息可以在订阅没有处于接收状态时被保留。另外,如果发到它的消息是持久 消息的话,这些消息可以在服务器故障或重启时不丢失。
嵌入方式(Embedded) - embedded是一个如何将HornetQ服务嵌入到你的应用中的例子。 + embedded是一个如何将ActiveMQ服务嵌入到你的应用中的例子。
HTTP 传输协议的支持 - http-transport展示了HornetQ如何支持在传输层使用HTTP协议来发送和接收消息。 + http-transport展示了ActiveMQ如何支持在传输层使用HTTP协议来发送和接收消息。
直接实例化JMS对象 JMS 对象是指 连接工厂(ConnectionFactory)队列(Queue)话题(Topic) 的实例。通常情况下它们通过JNDI服务 来获取。它们在JMS术语中被称为“被管理的对象(administered objects)”。 - 有的时候客户端没有JNDI服务可用,或者不适合使用JNDI。那么在没有JNDI的情况下HornetQ允许直接在客户端 + 有的时候客户端没有JNDI服务可用,或者不适合使用JNDI。那么在没有JNDI的情况下ActiveMQ允许直接在客户端 将这些JMS对象实例化。
拦截器(Interceptor) - HornetQ可以配置拦截器以便用户可以自己处理各种各样的消息事件。这个例子就是给用户展示如何使用 + ActiveMQ可以配置拦截器以便用户可以自己处理各种各样的消息事件。这个例子就是给用户展示如何使用 拦截器。
JAAS - jaas是一个如何配置JAAS安全模式的例子。HornetQ可以使用JAAS来进行用户的验证与权限控制。 + jaas是一个如何配置JAAS安全模式的例子。ActiveMQ可以使用JAAS来进行用户的验证与权限控制。
JMS桥(Bridge) - jms-brige是一个在两个单独HornetQ服务器之间设置桥的例子。 + jms-brige是一个在两个单独ActiveMQ服务器之间设置桥的例子。
JMX管理 - jmx例子展示了如何使用JMX来管理HornetQ。 + jmx例子展示了如何使用JMX来管理ActiveMQ。
大消息 - large-message例子给用户展示了使用HornetQ来发送和接收大消息的功能。HornetQ + large-message例子给用户展示了使用ActiveMQ来发送和接收大消息的功能。ActiveMQ 支持超大消息的发送与接收。这些消息可以大到内存无法装下。它的大小只受服务器的硬盘空间的限制。 在服务器端大消息是被持久化的,所以它可以承受服务器的崩溃或重启而不丢失或损坏。
@@ -166,20 +166,20 @@
分布式队列的负载均衡 - clustered-queue例子中配置了一个2节点的HornetQ服务集群。在集群上部署了 + clustered-queue例子中配置了一个2节点的ActiveMQ服务集群。在集群上部署了 一个分布式JMS队列。 然后在一个节点上创建了一个发送者(producer),在两个节点上分别创建一个接收者(consumer)。通过 发送者向队列发送一些消息然后被两的接收者以轮流(round-robin)的方式接收。 - 本例说明了HornetQ可以将消息向集群中的每个接收者分布式地传递消息。 + 本例说明了ActiveMQ可以将消息向集群中的每个接收者分布式地传递消息。
管理 - management例子展示的是如何使用JMS消息来实现对HornetQ的管理。 + management例子展示的是如何使用JMS消息来实现对ActiveMQ的管理。
管理通知 - management-notification展示了HornetQ如何以JMS消息的形式向用户发送 - 管理通知。当某些事件发生时(如接收都创建,关闭;地址创建与删除;安全验证失败等等),HornetQ会向客户 + management-notification展示了ActiveMQ如何以JMS消息的形式向用户发送 + 管理通知。当某些事件发生时(如接收都创建,关闭;地址创建与删除;安全验证失败等等),ActiveMQ会向客户 发出JMS消息以通知客户这些事件的相关信息。客户接收到这些信息后可以作出相应的处理。
@@ -190,12 +190,12 @@ 消息失效 expiry例子中包括了如何定义和使用消息失效期。消息如果在消息服务器中存留超过一定 的时间,就可以被删除。根据JMS规范,接收者就不应该接收到已经过了失效期的消息。(但是并不保证一定接收不到)。 - HornetQ可以给一个队列配上一个失效地址,当队列中的消息失效时,它们就会从队列中删除并转移到该失效地址。 + ActiveMQ可以给一个队列配上一个失效地址,当队列中的消息失效时,它们就会从队列中删除并转移到该失效地址。 这些“失效"的消息可以从失效地址中接收并进行分析。
消息组 - message-group展示的是如何在HornetQ中配置消息组。消息组可以让你的消息 + message-group展示的是如何在ActiveMQ中配置消息组。消息组可以让你的消息 只被一个接收者接收。属于一个消息组中的消息有如下特性: @@ -223,10 +223,10 @@
零接收缓冲 - 默认时HornetQ的接收者客户端有一个消息缓冲,它用来保存从服务器上预先接收的消息。这样做是为了提高 - 性能。因为如果没有这个缓冲,每次调用receive()或onMessage()后,HornetQ就会访问一次服务器请求下 + 默认时ActiveMQ的接收者客户端有一个消息缓冲,它用来保存从服务器上预先接收的消息。这样做是为了提高 + 性能。因为如果没有这个缓冲,每次调用receive()或onMessage()后,ActiveMQ就会访问一次服务器请求下 一个消息。 - 这样每接收一个消息就会增加一次网络往返的传输。因此,HornetQ在默认情况下使用客户端的接收缓冲来 + 这样每接收一个消息就会增加一次网络往返的传输。因此,ActiveMQ在默认情况下使用客户端的接收缓冲来 预先接收消息,以提高效率。 然而在某些情况下这样的缓冲不符合应用需要。那么可以将缓冲关闭。本例就是展示如何关闭接收缓冲。
@@ -234,13 +234,13 @@ 带有服务器数据复制的非事务失效备援 non-transaction-failover例子展示了由两个服务器组成的高可获得性主/从关系。 客户端使用一个非交易的JMS会话(session)可以在主节点崩溃的情况下从主节点失效备援到备份节点。 - HornetQ的这一功能是通过主、备节点间的状态复制来实现的。当主节点发生故障崩溃时,客户端的连接可以自动 + ActiveMQ的这一功能是通过主、备节点间的状态复制来实现的。当主节点发生故障崩溃时,客户端的连接可以自动 转向备份节点以继续的发送或接收消息。当使用非事务性的会话时,有可能发生消息丢失或重复传递的情况。
分页(paging) - paging例子展示了HornetQ在内存有限时如何支持超大容量的队列。当内存不够时, - HornetQ会将消息保存到磁盘上;需要时再将它们从磁盘读入内存。这一过程对用户是透明的。 + paging例子展示了ActiveMQ在内存有限时如何支持超大容量的队列。当内存不够时, + ActiveMQ会将消息保存到磁盘上;需要时再将它们从磁盘读入内存。这一过程对用户是透明的。
预先通知 @@ -248,11 +248,11 @@ AUTO_ACKNOWLEDGE(自动通知)、CLIENT_ACKNOWLEDGE客户通知以及 DUPS_OK_ACKNOWLEDGE可重复通知。请参阅JMS规范和教程来进一步了解这几种通知方式。 所有方式都需要从客户端发通知到服务器端。有时当发生故障时你并不在乎丢失一些消息,这样可以采用在服务器端在消息 - 传递前进行通知就显得比较合理。本例就是展示如何使用这一HornetQ独有的通知方式。 + 传递前进行通知就显得比较合理。本例就是展示如何使用这一ActiveMQ独有的通知方式。
消息发送速度限制 - producer-rte-limit例子展示了如何设置HornetQ的最大消息发送速率。它控制消息的 + producer-rte-limit例子展示了如何设置ActiveMQ的最大消息发送速率。它控制消息的 发送者(JMS producer)发送消息的最大速度。
@@ -283,16 +283,16 @@
定时消息 - scheduled-message例子展示了如何向HornetQ发送定时消息(scheduled message)。 + scheduled-message例子展示了如何向ActiveMQ发送定时消息(scheduled message)。 所谓定时消息就是在规定的将来的某一时间传递的消息。
安全 - security例子展示了如何配置HornetQ的安全参数。 + security例子展示了如何配置ActiveMQ的安全参数。
发送通知 - send-acknowledgements例子展示了如何使用HornetQ提供的高级异步发送通知功能 + send-acknowledgements例子展示了如何使用ActiveMQ提供的高级异步发送通知功能 (asynchronous send acknowledgements)。这是服务器向客户端通知消息已经 被接收。
@@ -302,25 +302,25 @@
静态消息选择器 - static-selector例子展示了如何配置HornetQ核心队列的静态消息选择器(又称过滤器)。 + static-selector例子展示了如何配置ActiveMQ核心队列的静态消息选择器(又称过滤器)。
使用JMS方法来配置静态消息选择器 - static-selector-jms例子采用JMS方法来配置HornetQ的队列的静态选择器(过滤器)。 + static-selector-jms例子采用JMS方法来配置ActiveMQ的队列的静态选择器(过滤器)。
Stomp - stomp例子展示了如何配置HornetQ来发送与接收Stomp消息。 + stomp例子展示了如何配置ActiveMQ来发送与接收Stomp消息。
Stomp与Web Sockets - stomp-websockets例子给出了如何配置一个HornetQ服务器直接从Web浏览器 + stomp-websockets例子给出了如何配置一个ActiveMQ服务器直接从Web浏览器 中(需要支持Web Socket)发送和接收Stomp消息。
对称型集群 - symmetric-cluster例子展示如何设置一个HornetQ的对称型集群。 - HornetQ的集群配置是非常灵活的。你可以根据需要设置不同的集群结构。最常用的就是对称型的集群了。这是在应用 + symmetric-cluster例子展示如何设置一个ActiveMQ的对称型集群。 + ActiveMQ的集群配置是非常灵活的。你可以根据需要设置不同的集群结构。最常用的就是对称型的集群了。这是在应用 服务器中常见的集群类型。 对称型的集群具有同一性,即每个节点与其他节点处于同等地位,并且每一个节点都与其他任一节点相连接。
@@ -334,7 +334,7 @@
话题体系(Topic Hierarchy) - HornetQ支持话题体系。所谓话题体系就是允许你使用通配符来注册一个订阅(subscriber),这样所有发送到 + ActiveMQ支持话题体系。所谓话题体系就是允许你使用通配符来注册一个订阅(subscriber),这样所有发送到 与该通配符相匹配的地址的消息都可以被该订阅收到。
@@ -349,29 +349,29 @@ 带有数据复制的事务性失效备援 transaction-failover例子展示了由两个服务器组成的高可获得性主/备关系。 客户端使用一个交易的JMS会话(session)可以在主节点崩溃的情况下从主节点失效备援到备份节点。 - HornetQ的这一功能是通过主、备节点间的状态复制来实现的。当主节点发生故障崩溃时,客户端的连接可以自动 + ActiveMQ的这一功能是通过主、备节点间的状态复制来实现的。当主节点发生故障崩溃时,客户端的连接可以自动 转向备份节点以继续的发送或接收消息。当使用事务性的会话时,能够保证消息被传递并且只被传递一次。
事务性会话 - transactional例子展示了如何在HornetQ中使用事务性会话。 + transactional例子展示了如何在ActiveMQ中使用事务性会话。
XA Heuristic - xa-heuristic例子给出了如何通过HornetQ的管理接口来做出一个XA的heuristic决定。 + xa-heuristic例子给出了如何通过ActiveMQ的管理接口来做出一个XA的heuristic决定。 一个XA的heuristic决定是一个单方面的对一个已经准备的(prepared)XA事务分支提交或回滚的决定。
XA 接收 - xa-receive例子展示的是如何使用HornetQ在一个XA事务内接收消息。 + xa-receive例子展示的是如何使用ActiveMQ在一个XA事务内接收消息。
XA 发送 - xa-send例子展示的是如何使用HornetQ在一个XA事务内发送消息。 + xa-send例子展示的是如何使用ActiveMQ在一个XA事务内发送消息。
XA与事务管理器(transaction manager) - xa-with-jta展示了如何在HornetQ中使用JTA接口来控制事务。 + xa-with-jta展示了如何在ActiveMQ中使用JTA接口来控制事务。
@@ -379,7 +379,7 @@ 运行核心API的例子很简单,只要进到相应的例子目录下运行“ant"即可。
嵌入式 - 本例展示了如何将HornetQ服务器嵌入到你的代码中。 + 本例展示了如何将ActiveMQ服务器嵌入到你的代码中。
@@ -397,15 +397,15 @@
资源适配器的配置(JCA) - 本例展示了如何配置HornetQ的JCA适配器的各种参数。 + 本例展示了如何配置ActiveMQ的JCA适配器的各种参数。
资源适配器运程服务器的配置 - 本例展示了如何配置HornetQ的JCA适配器来与远程的HornetQ服务器通迅。 + 本例展示了如何配置ActiveMQ的JCA适配器来与远程的ActiveMQ服务器通迅。
JMS 桥(Bridge) - 本例展示了如何使用HornetQ的JMS bridge。 + 本例展示了如何使用ActiveMQ的JMS bridge。
MDB (消息驱动Bean) @@ -413,15 +413,15 @@
Servlet传输 - 一个展示在HornetQ中使用servlet作为传输层的例子。 + 一个展示在ActiveMQ中使用servlet作为传输层的例子。
Servlet SSL 传输 - 一个展示在HornetQ中使用基于SSL之上的servlet传输的例子。 + 一个展示在ActiveMQ中使用基于SSL之上的servlet传输的例子。
XA 恢复(recovery) - 这是一个展示HornetQ在JBoss应用服务器中的XA recovery是如何工作的例子。 + 这是一个展示ActiveMQ在JBoss应用服务器中的XA recovery是如何工作的例子。
diff --git a/docs/user-manual/zh/filter-expressions.xml b/docs/user-manual/zh/filter-expressions.xml index ff1dbd8700..1b5db78c11 100644 --- a/docs/user-manual/zh/filter-expressions.xml +++ b/docs/user-manual/zh/filter-expressions.xml @@ -20,12 +20,12 @@ 过滤器表达式 - HornetQ提供了一套强大的过滤器(filter)语言。它的语法是基于SQL 92表达式的部分语法。 + ActiveMQ提供了一套强大的过滤器(filter)语言。它的语法是基于SQL 92表达式的部分语法。 实际上它与JMS选择器(selector)的语法是相同的。只是其中有一些预定义的标识符有所不同。有关 JMS选择器的相关知识参见 javax.jms.Message - HornetQ在以下以个地方使用了过滤器表达式: + ActiveMQ在以下以个地方使用了过滤器表达式: 预定义的队列。当在中有所描述。 - HornetQ的内核过滤器表达式与JMS选择器表达式是有所不同的。JMS选择器应用于JMS消息,而HornetQ的内核过滤 + ActiveMQ的内核过滤器表达式与JMS选择器表达式是有所不同的。JMS选择器应用于JMS消息,而ActiveMQ的内核过滤 器表达式则用于内核消息。 以下标识符可以用在内核消息的过滤器表达式中,用来引用内核消息的属性: diff --git a/docs/user-manual/zh/flow-control.xml b/docs/user-manual/zh/flow-control.xml index c1e041e22d..db69d9311e 100644 --- a/docs/user-manual/zh/flow-control.xml +++ b/docs/user-manual/zh/flow-control.xml @@ -26,10 +26,10 @@ 客户端不断积累,最終引起内存溢出的错误。
基于窗口的流控制 - 默认情况下HornetQ的接收者一端会将消息进行缓存以提高性能。如果不这样做,那每次接收者收到一个消息, + 默认情况下ActiveMQ的接收者一端会将消息进行缓存以提高性能。如果不这样做,那每次接收者收到一个消息, 都得通知服务器传递下一个消息,然后服务器再将下一个消息传递过来。这就增加了通信的次数。 对于每一次消息传递都有一个网络的往返通信,这样降低了性能。 - 为了避免这样,HornetQ将每个接收者的消息提前接收到一处缓存中。每个缓存的最大值由 + 为了避免这样,ActiveMQ将每个接收者的消息提前接收到一处缓存中。每个缓存的最大值由 consumer-window-size参数决定(单位字节)。 consumer-window-size的默认值是 1 MiB (1024 * 1024 字节)。 @@ -97,9 +97,9 @@ <consumer-window-size>0</consumer-window-size> </connection-factory> - 如果直接实例化连接工厂,则使用HornetQConnectionFactory.setConsumerWindowSize() + 如果直接实例化连接工厂,则使用ActiveMQConnectionFactory.setConsumerWindowSize() 方法来设定窗口大小。 - 参见例子来了解如何配置HornetQ来 + 参见例子来了解如何配置ActiveMQ来 关闭接收者的缓存。
@@ -112,7 +112,7 @@ 参见有关速率流控制的例子以进一步了解它的工作原理。
使用核心接口(Core API) - HornetQ的核心接口的ActiveMQ的核心接口的ClientSessionFactory.setConsumerMaxRate(int consumerMaxRate)方法或 某些ClientSession.createConsumer()方法可以实现对流的速率控制。
@@ -131,7 +131,7 @@ of 10 messages per sec --> <consumer-max-rate>10</consumer-max-rate> </connection-factory> - 如果是直接实例化连接工厂,则通过HornetQConnectionFactory.setConsumerMaxRate(int + 如果是直接实例化连接工厂,则通过ActiveMQConnectionFactory.setConsumerMaxRate(int consumerMaxRate)方法来设定最大流速率。 速率流控制可以与窗口流控制结合使用。速率控制只规定了客户端每秒接收多少消息。因此如果你设定 @@ -143,7 +143,7 @@
发送者(producer)的流控制 - HornetQ还可以控制客户端向服务器发送消息的速度,以避免服务器因大量数据过载。 + ActiveMQ还可以控制客户端向服务器发送消息的速度,以避免服务器因大量数据过载。
基于窗口的流控制 与接收者的相应的控制相似。在默认条件下,发送者要有足够的份额(credits)才可以向服务器的地址发送消息。 @@ -172,12 +172,12 @@ </entries> <producer-window-size>10</producer-window-size> </connection-factory> - 如果是直接实例化连接工厂,则使用HornetQConnectionFactory.setProducerWindowSize(int + 如果是直接实例化连接工厂,则使用ActiveMQConnectionFactory.setProducerWindowSize(int producerWindowSize)方法来设定窗口大小。
限定发送者窗口流控制 - 通常情况下客户端请求多少份额,HornetQ服务器就给予多少份额。然而我们还可以针对每个地址来设定一个最大 + 通常情况下客户端请求多少份额,ActiveMQ服务器就给予多少份额。然而我们还可以针对每个地址来设定一个最大 的份额值,以使服务器给出的份额都不大于该值。这样可以防止一个地址的内存溢出。 例如,如果有一个队列称为“myqueue”。将它的最大内存值设为10MiB,则服务器就会控制给出的份额以保证向该队列的地 址发送消息时不会占大于10MiB的内存空间。 @@ -211,7 +211,7 @@
速率流控制 - HornetQ也可以控制发送者发送消息的速率。单位是每秒消息数。通过设定速率可保证发送者的发送速率不超过某个值。 + ActiveMQ也可以控制发送者发送消息的速率。单位是每秒消息数。通过设定速率可保证发送者的发送速率不超过某个值。 速率必须是一个正整数。如果设为 -1 则关闭速率流控制。默认值是-1 请参见例子进一步了解速率流控制的使用方法。
@@ -235,7 +235,7 @@ of 10 messages per sec --> <producer-max-rate>10</producer-max-rate> </connection-factory> - 如果直接实例化连接工厂,则使用HornetQConnectionFactory.setProducerMaxRate(int + 如果直接实例化连接工厂,则使用ActiveMQConnectionFactory.setProducerMaxRate(int consumerMaxRate)方法来设置。
diff --git a/docs/user-manual/zh/ha.xml b/docs/user-manual/zh/ha.xml index 5861c552e5..298bcd930b 100644 --- a/docs/user-manual/zh/ha.xml +++ b/docs/user-manual/zh/ha.xml @@ -23,25 +23,25 @@ 当客户端当前连接的服务器发故障时,客户端可以将连接转到另一台正常的服务器,从而能够继续工作
主要-备份对 - HornetQ可以将两个服务器以主要-备份对的形式连接在一起。目前HornetQ允许一个 + ActiveMQ可以将两个服务器以主要-备份对的形式连接在一起。目前ActiveMQ允许一个 主要服务器有一个备份服务器,一个备份服务器只有一个主要服务器。在正常情况下主要服务器工作,备份服务器只有当 发生失效备援发生时工作。 没有发生失效备援时,主要服务器为客户端提供服务,备份服务器处于待机状态。当客户端在失效备援后连接到备份服务 器时,备份服务器开始激活并开始工作。
高可获得性(HA)的模式 - HornetQ的高可获得性有两种模式:一种模式通过由主服务器日志向备份服务器日志 + ActiveMQ的高可获得性有两种模式:一种模式通过由主服务器日志向备份服务器日志 复制数据。另一种模式则是主服务器与备份服务器间存贮共享 只有持久消息才可以在失效备援时不丢失。所有非持久消息则会丢失。
数据复制 - 在这种模式下,保存在HornetQ主服务器中日志中的数据被复制到备份服务器日志中。注意我们并不复制 + 在这种模式下,保存在ActiveMQ主服务器中日志中的数据被复制到备份服务器日志中。注意我们并不复制 服务器的全部状态,而是只复制日志和其它的持久性质的操作。 复制的操作是异步进行的。数据通过流的方式复制,复制的結果则通过另一个流来返回。通过这样的异步方式 我们可以获得比同步方式更大的呑吐量。 - 当用户得到确认信息如一个事务已经提交、准备或加滚,或者是一个持久消息被发送时,HornetQ确保这些状态 + 当用户得到确认信息如一个事务已经提交、准备或加滚,或者是一个持久消息被发送时,ActiveMQ确保这些状态 已经复制到备份服务器上并被持久化。 数据复制这种方式不可避免地影响性能,但是另一方面它不依赖于昂贵的文件共享设备(如SAN)。它实际上是 一种无共享的HA方式。 @@ -93,7 +93,7 @@ 当失效备援发生后,备份服务器代替主服务器工作,原来的主服务器失效。这时简单的重启主服务 器是不行的。要想将主服务器与备份重新进行同步,就必须先将主服务器和备份服务器同时停止,再将 主服务器的数据拷贝到备份服务器,然后再启动。 - HornetQ以后将支持备份与主服务器间的自动同步,无需停止主服务器。 + ActiveMQ以后将支持备份与主服务器间的自动同步,无需停止主服务器。
@@ -133,14 +133,14 @@ 由于主备服务器之间共享存贮,所以它们不需要进行同步。但是它需要主备服务器同时工作以提供 高可获得性。如果一量发生失效备援后,就需要在尽可能早的时间内将备份服务器(处于工作状态)停下来, 然后再启动主服务器和备份服务器。 - HornetQ以后将支持自动同步功能,不需要先停止服务器。 + ActiveMQ以后将支持自动同步功能,不需要先停止服务器。
失效备援的模式 - HornetQ定义了两种客户端的失效备援: + ActiveMQ定义了两种客户端的失效备援: 自动客户端失效备援 @@ -149,26 +149,26 @@ 应用层的客户端失效备援 - HornetQ还支持100%透明的同一个服务器的自动连接恢复(适用于网络的临时性故障)。这与失效备援很相似, + ActiveMQ还支持100%透明的同一个服务器的自动连接恢复(适用于网络的临时性故障)。这与失效备援很相似, 只不过连接的是同一个服务器,参见 在发生失效备援时,如果客户端有非持久或临时队列的接收者时,这些队列会自动在备份服务器上重新创建。对于 非持久性的队列,备份服务器事先是没有它们的信息的。
自动客户端失效备援 - HornetQ的客户端可以配置主/备份服务器的信息,当客户端与主服务器的连接发生故障时,可以自动检测到故障并 + ActiveMQ的客户端可以配置主/备份服务器的信息,当客户端与主服务器的连接发生故障时,可以自动检测到故障并 进行失效备援处理,让客户端连接到备份服务器上。备份服务器可以自动重新创建所有在失效备援之前存在的会话与接收 者。客户端不需要进行人工的连接恢复工作,从而节省了客户端的开发工作。 - HornetQ的客户端在参数client-failure-check-period(在 + ActiveMQ的客户端在参数client-failure-check-period(在 中进行了解释)规定的时间内如果没有收到数据包,则认为连接发生故障。 当客户端认为连接故障时,它就会尝试进行失效备援。 - HornetQ有几种方法来为客户端配置主/备服务器对的列表。可以采用显式指定的方法,或者采用更为常用的 + ActiveMQ有几种方法来为客户端配置主/备服务器对的列表。可以采用显式指定的方法,或者采用更为常用的 服务器发现的方法。有关如何配置服务器发现的详细信息,请参见 。 关于如何显式指定主/备服务器对的方法,请参见中的解释。 要使客户端具备自动失效备援,在客户端的配置中必须要指定重试的次数要大于零(参见 中的解释)。 有时你需要在主服务器正常关机的情况下仍然进行失效备援。如果使用JMS,你需要将HornetQConnectionFactoryActiveMQConnectionFactoryFailoverOnServerShutdown属性设为true,或者是在hornetq-jms.xml(参数为failover-on-server-shutdown)文件中进行相应的配置。如果使用的是核心接口,可以在创建 ClientSessionFactoryImpl实例时将上述同名属性设置为true。 @@ -176,7 +176,7 @@ 默认正常关机不会不会导致失效备援。 - 使用CTRL-C来关闭HornetQ服务器或JBoss应用服务器属于正常关机,所以不会触发客户端的失效 + 使用CTRL-C来关闭ActiveMQ服务器或JBoss应用服务器属于正常关机,所以不会触发客户端的失效 备援。 要想在这种情况下进行失效备援必须将属性FailoverOnServerShutdown 设为true。 @@ -187,7 +187,7 @@ 如果重试次数超过的该参数的值,则连接失败。 在有些情况下,你可能希望在初始连接失败和情况下自动连接到备份服务器,那么你可以直接在 ClientSessionFactoryImplHornetQConnectionFactory上设置FailoverOnInitialConnection + >ActiveMQConnectionFactory上设置FailoverOnInitialConnection 参数,或者在配置文件中设置failover-on-initial-connection。默认的值是false 有关事务性及非事务性JMS会话的自动失效备援的例子,请参见 @@ -195,7 +195,7 @@ linkend="examples.non-transaction-failover"/>。
关于服务器的复制 - HornetQ在主服务器向备份服务器复制时,并不复制服务器的全部状态。所以当一个会话在备份服务器 + ActiveMQ在主服务器向备份服务器复制时,并不复制服务器的全部状态。所以当一个会话在备份服务器 中重新创建后,它并不知道发送过的消息或通知过的消息。在失效备援的过程中发生的消息发送或通知也可 能丢失。 理论上如果进行全部状态的复制,我们可以提供100%的透明的失效备援,不会失去任何的消息或通知。 @@ -216,12 +216,12 @@ 失效备援时阻塞调用的处理 如果当发生失效备援时客户端正面进行一个阻塞调用并等待服务器的返回,新创建的会话不会知道这个调用, 因此客户端可能永远也不会得到响应,也就可能一直阻塞在那里。 - 为了防止这种情况的发生,HornetQ在失效备援时会解除所有的阻塞调用,同时抛出一个 + 为了防止这种情况的发生,ActiveMQ在失效备援时会解除所有的阻塞调用,同时抛出一个 javax.jms.JMSException异常(如果是JMS)或ActiveMQException异常。异常的错误代码是ActiveMQException.UNBLOCKED。客户端需要自行处理这个异常,并且进行 必要的操作重试。 - 如果被解除阻塞的调用是commit()或者prepare(),那么这个事务会被自动地回滚,并且HornetQ + 如果被解除阻塞的调用是commit()或者prepare(),那么这个事务会被自动地回滚,并且ActiveMQ 会抛出一个javax.jms.TransactionRolledBackException(如果是JMS) 或都是一个ActiveMQException,错误代码为 ActiveMQException.TRANSACTION_ROLLED_BACK(如果是核心接口)。 @@ -236,7 +236,7 @@ >ActiveMQException.TRANSACTION_ROLLED_BACK(如果是核心接口)。 客户端需要自行处理这些异常,进行必要的回滚处理。注意这里不需要人工将会话进行回滚-此时它已经 被回滚了。用户可以通过同一个会话重试该事务操作。 - HornetQ发布包中包括了一个完整的例子来展示如何处理这种情况。参见 + ActiveMQ发布包中包括了一个完整的例子来展示如何处理这种情况。参见 如果是在提交过程中发生了失效备援,服务器将这个阻塞调用解除。这种情况下客户端很难确定在事故发生 之前事务是否在主服务器中得到了处理。 @@ -244,7 +244,7 @@ ,并且在提交的调用被解除后重新尝试事务操作。如果在失效备援前事务确实在主服务器上已经完成提交,那么 当事务进行重试时,重复检测功能可以保证重复发送的消息被丢弃,这样避免了消息的重复。 - 通过处理异常和重试,适当处理被解除的阻塞调用并配合重复检测功能,HornetQ可以在故障条件下保证 + 通过处理异常和重试,适当处理被解除的阻塞调用并配合重复检测功能,ActiveMQ可以在故障条件下保证 一次并且只有一次的消息传递,没有消息丢失和消息重复。
@@ -260,9 +260,9 @@ 连接故障的通知 JMS提供了标准的异步接收连接故障通知的机制:java.jms.ExceptionListener。 请参考JMS的javadoc或者其它JMS教程来进一步了解怎样使用这个接口。 - HornetQ的核心接口也提供了一个相似的接口 + ActiveMQ的核心接口也提供了一个相似的接口 org.hornet.core.client.SessionFailureListener - 任何ExceptionListener或SessionFailureListener的实例,在发生连接故障时,都会被HornetQ + 任何ExceptionListener或SessionFailureListener的实例,在发生连接故障时,都会被ActiveMQ 调用,不管该连接是否得到了失效备援、重新连接还是得到了恢复。
@@ -270,7 +270,7 @@ 在某些情况下你可能不需要自动的客户端失效备援,希望自己来处理连接故障,使用自己的重新连接方案等。 我们把它称之为应用层失效备援,因为它是发生在应用层的程序中。 为了实现应用层的失效备援,你可以使用监听器(listener)的方式。如果使用的是JMS,你需要在JMS连接上 - 设置一个ExceptionListener类。这个类在连接发生故障时由HornetQ调用。在这个类 + 设置一个ExceptionListener类。这个类在连接发生故障时由ActiveMQ调用。在这个类 中你可以将旧的连接关闭,使用JNDI查找新的连接工厂并创建新的连接。这里你可以使用 HA-JNDI 来保证新的连接工厂来自于另一个服务器。 diff --git a/docs/user-manual/zh/intercepting-operations.xml b/docs/user-manual/zh/intercepting-operations.xml index 260dcd28ab..6a144326e5 100644 --- a/docs/user-manual/zh/intercepting-operations.xml +++ b/docs/user-manual/zh/intercepting-operations.xml @@ -20,7 +20,7 @@ 拦截操作 - HornetQ支持拦截器。拦截器可以拦截进入服务器的数据包。每进入服务器 + ActiveMQ支持拦截器。拦截器可以拦截进入服务器的数据包。每进入服务器 一个数据包,拦截器就被调用一次,允许一些特殊和处理,例如对包的审计、过滤等。拦截器可以对数据包 进行改动。
diff --git a/docs/user-manual/zh/interoperability.xml b/docs/user-manual/zh/interoperability.xml index 7fcee0b0e6..7473d43931 100644 --- a/docs/user-manual/zh/interoperability.xml +++ b/docs/user-manual/zh/interoperability.xml @@ -26,7 +26,7 @@ 它有着很好的互操作性。
内建Stomp支持 - HornetQ内建支持Stomp功能。要使用Stomp发送与接收消息,必须配置一个NettyAcceptor, + ActiveMQ内建支持Stomp功能。要使用Stomp发送与接收消息,必须配置一个NettyAcceptor, 其中的protocol参数值应设为stomp <acceptor name="stomp-acceptor"> @@ -34,8 +34,8 @@ <param key="port" value="61613"/> </acceptor> - 有了上述的配置,HornetQ就可以在端口61613(这是Stomp代理的默认端口)接受Stomp连接了。 - stomp例子展示了如何在HornetQ中配置Stomp。 + 有了上述的配置,ActiveMQ就可以在端口61613(这是Stomp代理的默认端口)接受Stomp连接了。 + stomp例子展示了如何在ActiveMQ中配置Stomp。
限制 消息的通知不是事务性的。ACK信号不能作为事务的一部分来传输(如果设置了transaction @@ -43,19 +43,19 @@
- Stomp目标与HornetQ的地址和队列的映射 + Stomp目标与ActiveMQ的地址和队列的映射 Stomp客户端在消息发送和订阅中使用的是目标(destination)。目标名称是简单的字符串,对应的是服务 器端的目的地。不同服务器对这种映射有着不同的实现。 - 在HornetQ中这些目标被映射为地址队列。 + 在ActiveMQ中这些目标被映射为地址队列。 当一个Stomp客户端发送一个消息(使用SEND信号)到一个目标时,这个目标被映射到一个地址。 如果一个Stomp客户端订阅(或解除订阅)一个目标时(使用SUBSCRIBE或 - UNSUBSCRIBE),这个目标被映射到一个HornetQ的队列。 + UNSUBSCRIBE),这个目标被映射到一个ActiveMQ的队列。
Stomp与JMS的互操作性
使用JMS目标 - 正如解释的那样,JMS的目标同样映射到HornetQ的地址与队列。如果你使用 + 正如解释的那样,JMS的目标同样映射到ActiveMQ的地址与队列。如果你使用 Stomp向JMS的目标发送消息,那么Stomp的目标必须要遵照相同的命名规则: @@ -97,8 +97,8 @@ hello queue orders
通过Web Sockets使用Stomp - HornetQ还支持通过Web Sockets使用Stomp。任何支持 - Web Socket的浏览器中可以利用HornetQ来发送和接收Stomp消息。 + ActiveMQ还支持通过Web Sockets使用Stomp。任何支持 + Web Socket的浏览器中可以利用ActiveMQ来发送和接收Stomp消息。 要使用些功能,必须配置一个NettyAcceptor,并设置protocol 的值为stomp_ws @@ -108,35 +108,35 @@ hello queue orders <param key="port" value="61614"/> </acceptor> - 使用上面配置,HornetQ在URL路径/stomp下端口61614接收Stomp连接。 + 使用上面配置,ActiveMQ在URL路径/stomp下端口61614接收Stomp连接。 浏览器然后就可以连接到ws://<server>:61614/stomp,使用Web Socket来发送和接收 Stomp消息了。 为了简化客户端的开发,在GitHub 上提供了一个JavaScript库(参见文档)。 - stomp-websockets例子给出一如何配置HornetQ服务器以使浏览器和Java应用程序通过一个JMS话题 + stomp-websockets例子给出一如何配置ActiveMQ服务器以使浏览器和Java应用程序通过一个JMS话题 进行消息的传递。
StompConnect StompConnect是一个Stomp代理服务器, - 它可以将Stomp协议转换为标准的JMS接口调用。因此,通过StompConnect的作用HornetQ可以作为一个Stomp代理, + 它可以将Stomp协议转换为标准的JMS接口调用。因此,通过StompConnect的作用ActiveMQ可以作为一个Stomp代理, 与任何一个Stomp客户端通迅。这些客户端可以由C、C++、C#及.net等语言实现。 - 要运行StompConnect首先要启动HornetQ服务以及JNDI服务。 + 要运行StompConnect首先要启动ActiveMQ服务以及JNDI服务。 Stomp需要jndi.properties文件要在classpath中。该文件 应有如下类似的内容: java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://localhost:1099 java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces - 要确保该文件与StompConnect的jar包以及HornetQ的jar文件都在classpath中。最后,运行 + 要确保该文件与StompConnect的jar包以及ActiveMQ的jar文件都在classpath中。最后,运行 java org.codehaus.stomp.jms.Main
REST - HornetQ即将支持REST! + ActiveMQ即将支持REST!
AMQP - HornetQ即将支持AMQP! + ActiveMQ即将支持AMQP!
diff --git a/docs/user-manual/zh/jms-bridge.xml b/docs/user-manual/zh/jms-bridge.xml index b451bec47d..f592a464a6 100644 --- a/docs/user-manual/zh/jms-bridge.xml +++ b/docs/user-manual/zh/jms-bridge.xml @@ -18,16 +18,16 @@ JMS桥(Bridge) - HornetQ提供了JMS消息桥服务。 + ActiveMQ提供了JMS消息桥服务。 桥的作用是从一个消息源队列或话题(topic)接收消息,然后将它们发送到一个目标队列或话题。通常源和 目的不在同一台服务器上。 作为消息源的服务器与目的服务器不必在同一个集群内。通过桥的作用,两台服务器可以通过非可靠的网络连接 起来,比如WAN。 - 桥可以作为单独的服务部署,或者部署于HornetQ单独服务器内,或者部署在JBoss应用服务器中。源或目的可以 + 桥可以作为单独的服务部署,或者部署于ActiveMQ单独服务器内,或者部署在JBoss应用服务器中。源或目的可以 在同一个VM中,也可以在其它的VM中。 - 桥还可以在HornetQ服务器与其它JMS 1.1 兼容的服务器之间进行消息的传递。 + 桥还可以在ActiveMQ服务器与其它JMS 1.1 兼容的服务器之间进行消息的传递。 还要将JMS桥与核心桥混淆。JMB桥可以连接两个JMS 1.1兼容的服务器,它使用的是JMS接口。 - 而核心桥(在中描述)使用核心API将两个HornetQ实例连接 + 而核心桥(在中描述)使用核心API将两个ActiveMQ实例连接 起来。核心桥的性能通常要比JMS桥的性能高,所以尽可能使用核心桥。另外核心桥可以不用XA 就可以实现一次并只有一次的消息传递保证。 桥可以适当处理连接故障。当源的连接或目的的连接发生故障时,例如网络故障,桥将不断重试连接直到连接 @@ -42,8 +42,8 @@ <deployment xmlns="urn:jboss:bean-deployer:2.0"> <bean name="JMSBridge" class="org.apache.activemq.api.jms.bridge.impl.JMSBridgeImpl"> - <!-- HornetQ must be started before the bridge --> - <depends>HornetQServer</depends> + <!-- ActiveMQ must be started before the bridge --> + <depends>ActiveMQServer</depends> <constructor> <!-- Source ConnectionFactory Factory --> <parameter> @@ -311,14 +311,14 @@
源和目的的连接工厂 源工目的的连接工厂分别用于创建到源和到目的的连接。 - 上面的配置例子中使用的是HornetQ提供的默认实现。它使用JNDI查找连接工厂。对于其它的应用服务器 + 上面的配置例子中使用的是ActiveMQ提供的默认实现。它使用JNDI查找连接工厂。对于其它的应用服务器 或JMS提供者,需要实现相应的实现,即实现org.apache.activemq.jms.bridge.ConnectionFactoryFactory接口。
源和目的的目标工厂 它们用来创建或查找相应的目标。 - 上面例子中,我们使用了HornetQ的默认实现,从JNDI中查找相应的对象。 + 上面例子中,我们使用了ActiveMQ的默认实现,从JNDI中查找相应的对象。 要提供新的实现,只要实现接口org.apache.activemq.jms.bridge.DestinationFactory即可。
@@ -342,7 +342,7 @@
ONCE_AND_ONLY_ONCE 这个模式保证消息从源发送到目的一次,并且只有一次。(有时这个模式又称为“只一次”)。若源与目的处于 - 同一个HornetQ服务器中,这个模式通过本地事务来保证消息的发送和通知。如果是在不同的服务器上, + 同一个ActiveMQ服务器中,这个模式通过本地事务来保证消息的发送和通知。如果是在不同的服务器上, 则会使用一个JTA的事务将发送和接收包括其中。这里使用的JTA事务是JBoss的实现,它包含有一个 完整的事务恢复管理器,所以能提供高度可靠的持久性。如果使用JTA则桥的所有连接工厂必须是 XAConnectionFactory。这种模式的效率通常是最低的,因为它需要额外记录事务的日志。 @@ -360,7 +360,7 @@ JMS bridge中的超时问题 有时候目标服务器或源服务器会连接不上,这里桥就会尝试重新连接。重新连接的次数由Max Retries 参数决定,两次重新连接的时间间隔由Failure Retry Interval定义。 - 在重新尝试时会进行JNDI的查找。HornetQ的JNDI使用的是JBoss的实现,如果在JNDI查找过程中网络出现故障, + 在重新尝试时会进行JNDI的查找。ActiveMQ的JNDI使用的是JBoss的实现,如果在JNDI查找过程中网络出现故障, 查找的操作可能挂起。为了避免这种情况的发生,我们可以为JNDI设置适当的超时。这是通过定义初始上下文的 jnp.timeout参数和jnp.sotimeout参数来 实现的。第一个参数定义了初始连接的超时,第二个参数定义的是套接字的读取超时。 @@ -376,7 +376,7 @@ 例子 参见。这个例子展示了如何在JBoss应用服务器中配置并使用 JMS桥从一处目标将消息转发到另一个目标。 - 关于如何在两个单独HornetQ服务器间使用桥的例子,请参见 + 关于如何在两个单独ActiveMQ服务器间使用桥的例子,请参见
diff --git a/docs/user-manual/zh/jms-core-mapping.xml b/docs/user-manual/zh/jms-core-mapping.xml index 50861048d8..c696e6d934 100644 --- a/docs/user-manual/zh/jms-core-mapping.xml +++ b/docs/user-manual/zh/jms-core-mapping.xml @@ -18,8 +18,8 @@ JMS与内核API之间的映射关系 - 本意讲述JMS的目标实体(destination)如何映射到HornetQ的地址(addresses)。 - HornetQ的内核没有JMS的任何实现。在内核中没有topic的概念,它是通过在一个地址上(相当于topic的名字)绑定 + 本意讲述JMS的目标实体(destination)如何映射到ActiveMQ的地址(addresses)。 + ActiveMQ的内核没有JMS的任何实现。在内核中没有topic的概念,它是通过在一个地址上(相当于topic的名字)绑定 零或多个queue来实现JMS topic的功能的。每个绑定的queue相当于该topic的一个订阅(subscription)。 类似地通过在一个地址上(相当于queue的名字)绑定单一的queue就可以实现JMS queue的功能。 按照惯例,所有的JMS queue所对应的内核queue的名字都以jms.queue.做为开头。比如 diff --git a/docs/user-manual/zh/large-messages.xml b/docs/user-manual/zh/large-messages.xml index fdba0caf10..f2ee6ba015 100644 --- a/docs/user-manual/zh/large-messages.xml +++ b/docs/user-manual/zh/large-messages.xml @@ -18,10 +18,10 @@ 大消息 - HornetQ支持超大消息的发送和接收。消息的大小不受客户端或服务器端的内存限制。它只受限于你的磁盘空间的大小。 + ActiveMQ支持超大消息的发送和接收。消息的大小不受客户端或服务器端的内存限制。它只受限于你的磁盘空间的大小。 在我们作过的测试中,消息最大可达8GiB,而客户端和服务器端的内存只有50MiB! 要发送一个大消息,用户需要为大消息提供一个InputStream,当大消息被发送时, - HornetQ从该InputStream读取消息。例如,要将一个磁盘中的大文件以消息形式发送,可以 + ActiveMQ从该InputStream读取消息。例如,要将一个磁盘中的大文件以消息形式发送,可以 使用FileInputStream 数据从InputStream读出并分解为一个个数据片段向服务器以流的形式发送。服务器在收到 这些片段后将它们保存到磁盘上。当服务器准备向接收者传递消息时,它将这些片段读回,同样以片段流的形式向接收者 @@ -29,7 +29,7 @@ 以便向大消息保存到磁盘上或其它地方。从发送到接收整个过程中不需要整个消息都在内存中。
服务器端的配置 - 大消息在服务器端是直接保存在磁盘目录中。这一目录可以在HornetQ的配置文件中定义。 + 大消息在服务器端是直接保存在磁盘目录中。这一目录可以在ActiveMQ的配置文件中定义。 这个参数的名字是large-messages-directory <configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -53,10 +53,10 @@ 默认值是100KiB.
使用核心的API - 如果使用HornetQ的核心,ClientSessionFactory.setMinLargeMessageSize方法 + 如果使用ActiveMQ的核心,ClientSessionFactory.setMinLargeMessageSize方法 可以设置大消息的最小值。 ClientSessionFactory factory = - HornetQClient.createClientSessionFactory(new + ActiveMQClient.createClientSessionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()), null); factory.setMinLargeMessageSize(25 * 1024); 对于如何实例化一个会话工厂(session factory) @@ -79,13 +79,13 @@ factory.setMinLargeMessageSize(25 * 1024); </connection-factory> ... 如果是直接实例化连接工厂,则使用HornetQConnectionFactory.setMinLargeMessageSize方法来定义。 + >ActiveMQConnectionFactory.setMinLargeMessageSize方法来定义。
大消息与流(stream) - 在HornetQ中可以定义大消息所使用的输入和输出流(java.lang.io)。 - HornetQ将使用定义的流来发送(输入流)和接收(输出流)大消息。 + 在ActiveMQ中可以定义大消息所使用的输入和输出流(java.lang.io)。 + ActiveMQ将使用定义的流来发送(输入流)和接收(输出流)大消息。 在使用输出流接收大消息时,有两种选择:你可以用ClientMessage.saveOutputStream方法 以阻塞的方式保存大消息;或者你可以使用ClientMessage.setOutputstream方法 以异步方法保存大消息。在采用后一种方法时,必须保证接收者(consumer)在大消息的接收过程中保持 @@ -157,7 +157,7 @@ msg.setInputStream(dataInputStream);
在JMS中使用流 - 使用JMS时,HornetQ根据定义的属性值调用对应的核心接口(参见 使用JMS时,ActiveMQ根据定义的属性值调用对应的核心接口(参见 )来使用流。你只需要用 Message.setObjectProperty方法设置适当的输入/输出流即可。 输入流InputStream可以通过JMS属性JMS_HQ_InputStream来定义: diff --git a/docs/user-manual/zh/libaio.xml b/docs/user-manual/zh/libaio.xml index c31d4bd4c0..8022d62f1b 100644 --- a/docs/user-manual/zh/libaio.xml +++ b/docs/user-manual/zh/libaio.xml @@ -18,26 +18,26 @@ Libaio平台专有库 - HornetQ发布包中包括一个平台专有的库,它可以使HornetQ使用Linux操作系统的libaio。 + ActiveMQ发布包中包括一个平台专有的库,它可以使ActiveMQ使用Linux操作系统的libaio。 libaio是Linux项目的一个库。它将用户提交的写操作用异步的方式执行。通过 回调用户的代码来通知写操作的完成。 - 通过配置,HornetQ可以使用这个库来访问高性能的日志,具体请参见 通过配置,ActiveMQ可以使用这个库来访问高性能的日志,具体请参见 - 下面列出了HornetQ所带的平台专有库文件: + 下面列出了ActiveMQ所带的平台专有库文件: - libHornetQAIO32.so - x86 32 位平台 + libActiveMQAIO32.so - x86 32 位平台 - libHornetQAIO64.so - x86 64 位平台 + libActiveMQAIO64.so - x86 64 位平台 - 当使用libaio时,HornetQ会在库路径中寻找并装 + 当使用libaio时,ActiveMQ会在库路径中寻找并装 载这些文件。
库文件的编译 如果你的Linux平台不是x86_32或x86_64(比如Itanium 64或IBM Power),你需要自己编译相应的库文件, - 因为HornetQ不提供这些平台的库文件。 + 因为ActiveMQ不提供这些平台的库文件。
安装要求 @@ -85,7 +85,7 @@
开始编译 - 在HornetQ发布包的native-src目录下,执行shell脚本 + 在ActiveMQ发布包的native-src目录下,执行shell脚本 bootstrap。这个脚本会调用 automake以及make来创建所有的make文件和专有库。 someUser@someBox:/messaging-distribution/native-src$ ./bootstrap @@ -105,10 +105,10 @@ config.status: executing libtool commands ... 编译好的库文件在./native-src/src/.libs/libHornetQAIO.so。将该文件移到发布包的 + >./native-src/src/.libs/libActiveMQAIO.so。将该文件移到发布包的 bin目录下,或者你的库目录 所指向的目录即可。 - 如果你修改了HornetQ的libaio代码,只需要在native-src目录下直挂运行make即可完成编译。 + 如果你修改了ActiveMQ的libaio代码,只需要在native-src目录下直挂运行make即可完成编译。
diff --git a/docs/user-manual/zh/logging.xml b/docs/user-manual/zh/logging.xml index c26c79604f..9e111beac8 100644 --- a/docs/user-manual/zh/logging.xml +++ b/docs/user-manual/zh/logging.xml @@ -18,11 +18,11 @@ 日志(Logging) - HornetQ有自己的独立的日志系统,不依赖于任何其它的日志框架。在默认情况下所有HornetQ的日志将输入到 + ActiveMQ有自己的独立的日志系统,不依赖于任何其它的日志框架。在默认情况下所有ActiveMQ的日志将输入到 标准的JDK日志系统, (即JUL-Java Util Logging)。服务器在默认条件下读取config目录下的 - logging.properties文件做为JUL的配置文件。它配置了使用HornetQ自己的格式化 + logging.properties文件做为JUL的配置文件。它配置了使用ActiveMQ自己的格式化 方法,将日志输出到屏幕终端(Console)及文件中。请访问Sun公司的相关网址来进一步了解如何配置使用JUL。 你可以通过编程或定义系统变量的方法来配置不同的日志代理(Logging Delegate)。 采用编程方法,只需要调用方法: @@ -32,7 +32,7 @@ 如果要使用系统变量方法,则需要设置变量org.apache.activemq.logger-delegate-factory-class-name为相应的代理工厂,即 -Dorg.apache.activemq.logger-delegate-factory-class-name=org.apache.activemq.integration.logging.Log4jLogDelegateFactory - 上面的例子可以看出HornetQ提供了一些代理工厂以方便用户使用,它们是:上面的例子可以看出ActiveMQ提供了一些代理工厂以方便用户使用,它们是:org.apache.activemq.core.logging.impl.JULLogDelegateFactory - 默认的JUL日志代理工厂。 org.apache.activemq.integration.logging.Log4jLogDelegateFactory - Log4J的日志代理工厂。 @@ -40,7 +40,7 @@ >java.util.logging.config.file属性。
与JBoss应用服务器日志的关系 - 当HornetQ部署到JBoss应用服务器版本5.x或以上时,虽然HornetQ仍然使用JUL,但是所有的日志输出被重定向到 + 当ActiveMQ部署到JBoss应用服务器版本5.x或以上时,虽然ActiveMQ仍然使用JUL,但是所有的日志输出被重定向到 JBoss logger。请参阅相关的JBoss文档来了解更多的信息。如果是以前版本的JBoss,则必需指定你所需要的日志代理。
diff --git a/docs/user-manual/zh/management.xml b/docs/user-manual/zh/management.xml index 8fde10b312..0b153fbbb5 100644 --- a/docs/user-manual/zh/management.xml +++ b/docs/user-manual/zh/management.xml @@ -18,20 +18,20 @@ 管理 - HornetQ拥有套丰富的管理接口。用户使用这些接口可以修改服务器配置、创建新的资源(如队列和 + ActiveMQ拥有套丰富的管理接口。用户使用这些接口可以修改服务器配置、创建新的资源(如队列和 话题)、检查这些资源(如队列中有多少消息)并进行管理(从队列中删除消息)。这样用户可以 - 管理HornetQ。另外,客户还可以订阅管理通知。 - 有三种方式管理HornetQ: + 管理ActiveMQ。另外,客户还可以订阅管理通知。 + 有三种方式管理ActiveMQ: 使用JMX -- JMX是标准的Java应用程序管理方式。 - 使用核心接口 -- 管理操作通过核心消息的方法发向HornetQ服 + 使用核心接口 -- 管理操作通过核心消息的方法发向ActiveMQ服 务。 - 使用JMS接口 -- 管理操作通过JMS消息的方式发向HornetQ服务器。 + 使用JMS接口 -- 管理操作通过JMS消息的方式发向ActiveMQ服务器。 虽然有三种方式,但它们提供相同的功能。使用JMX方法能完成的功能使用核心接口或JMS接口都可以完成。 @@ -40,7 +40,7 @@ 管理接口API 不管使用哪种方式,管理接口都是一样的。 对于每个被管理的资源都有一个Java的接口提供可使用的操作。 - HornetQ的管理接口分布在2个包中: + ActiveMQ的管理接口分布在2个包中: 核心资源的管理接口在
核心管理接口 - HornetQ定义了一套对核心资源的管理接口。关于它们的详细说明请参见相应的javadoc。 + ActiveMQ定义了一套对核心资源的管理接口。关于它们的详细说明请参见相应的javadoc。 下面是对它们的概述:
核心服务器管理 @@ -68,7 +68,7 @@ 队列的列表、创建、部署与删除 getQueueNames() method方法用来列出所有已经部署的队列。 - HornetQServerControl (ObjectName ActiveMQServerControl (ObjectName org.apache.activemq:module=Core,type=Server或资源名core.server)上有队列创建或删除的方法,它们是 createQueue()deployQueue()和 @@ -110,14 +110,14 @@ 获得服务器的配置和属性 - HornetQServerControl提供了访问HornetQ服务器所有属性 + ActiveMQServerControl提供了访问ActiveMQ服务器所有属性 的方法(例如getVersion()方法可以得到服务器的版本,等等)。 核心桥和转发器的创建,删除与列表 使用getBridgeNames()可以列出部署的核心桥。 使用getDivertNames()可以列出部署的转发器。 - 使用HornetQServerControl (ObjectName 使用ActiveMQServerControl (ObjectName org.apache.activemq:module=Core,type=Server 或资源名 core.server)的方法createBridge()               和destroyBridge()可以创建和删除核心桥。 @@ -203,7 +203,7 @@
其它核心资源的管理 - HornetQ允许用户启动或停止其远程资源(接收器,转发器,桥,等等)。这样可以使服务器暂停工作 + ActiveMQ允许用户启动或停止其远程资源(接收器,转发器,桥,等等)。这样可以使服务器暂停工作 而不需要完全停止服务器(比如可以临时对服务器进行一些离线操作,像对一些事务的处理)。这些资源有: @@ -273,7 +273,7 @@
JMS管理接口 - HornetQ定义了一套JMS管理接口来管理JMS的可管理的对象 + ActiveMQ定义了一套JMS管理接口来管理JMS的可管理的对象 (例如JMS队列,话题及连接工厂)。
JMS服务器管理 @@ -414,10 +414,10 @@
使用JMX - HornetQ提供了ActiveMQ提供了JMX - HornetQ通过MBean的接口暴露其JMX管理操作。它将自己的资源注册到org.apache.activemq域。 + ActiveMQ通过MBean的接口暴露其JMX管理操作。它将自己的资源注册到org.apache.activemq域。 比如,用来管理一个名为exampleQueueJMS队列的ObjectName是: org.apache.activemq:module=JMS,type=Queue,name="exampleQueue" @@ -429,30 +429,30 @@ MBean的ObjectNameorg.apache.activemq.api.core.management.ObjectNameBuilder来产生出来的。你也可以使用jconsole来查找你想要的MBean的ObjectName - 使用JMX来管理HornetQ与用JMX管理其它Java应用程序没有什么不同。你可以使用反射或者创建MBean代理的方法。 + 使用JMX来管理ActiveMQ与用JMX管理其它Java应用程序没有什么不同。你可以使用反射或者创建MBean代理的方法。
配置JMX - 默认情况下HornetQ的JMX是打开的。将默认情况下ActiveMQ的JMX是打开的。将activemq-configuration.xml文件中的jmx-management-enabled设置为false就可以关闭JMX: -<!-- false to disable JMX management for HornetQ --> +<!-- false to disable JMX management for ActiveMQ --> <jmx-management-enabled>false</jmx-management-enabled> - 如果JMX功能是打开的,则使用jconsole可以管理本地的HornetQ。 + 如果JMX功能是打开的,则使用jconsole可以管理本地的ActiveMQ。 出于安全考虑,默认情况下JMX远程连接是关闭的。参见Java管理指南来配置服务器的远程管理(系统变量必须在run.shrun.bat中定义)。 - HornetQ默认使用JMX域名"org.apache.activemq"。如果要用一个MBeanServer管理多个HornetQ服务器,可以将每个HornetQ + ActiveMQ默认使用JMX域名"org.apache.activemq"。如果要用一个MBeanServer管理多个ActiveMQ服务器,可以将每个ActiveMQ 服务器配置成不同的JMX域。方法就是在activemq-configuration.xml文件中设置jmx-domain -<!-- use a specific JMX domain for HornetQ MBeans --> +<!-- use a specific JMX domain for ActiveMQ MBeans --> <jmx-domain>my.org.apache.activemq</jmx-domain>
MBeanServer的配置 - HornetQ在独立运行时使用Java虚拟机的ActiveMQ在独立运行时使用Java虚拟机的Platform MBeanServer来注册其MBean。这在JBoss Microcontainer(微容器)的bean 文件中进行配置(参见): <!-- MBeanServer --> @@ -472,7 +472,7 @@
例子 - 参见,这个例子展示了如何使用远程JMX连接或MBean代理来管理HornetQ。 + 参见,这个例子展示了如何使用远程JMX连接或MBean代理来管理ActiveMQ。
@@ -490,7 +490,7 @@ 管理操作的参数 - 当一个管理消息发送到管理地址时,HornetQ服务器将从中提取出相应的信息,再调用相应的管理资源的方法,之后向 + 当一个管理消息发送到管理地址时,ActiveMQ服务器将从中提取出相应的信息,再调用相应的管理资源的方法,之后向 该管理消息的回答地址(reply-to address,由ClientMessageImpl.REPLYTO_HEADER_NAME 定义)发送一个管理回答 一个ClientConsumer用来接收管理回答并提取出其中的操作的結果(如果有的话)。 @@ -545,7 +545,7 @@ manage来接收并处理管理消息。这个权限也在hornetq-configuration.xml文件中配置: <!-- users with the admin role will be allowed to manage --> - <!-- HornetQ using management messages --> + <!-- ActiveMQ using management messages --> <security-setting match="jms.queue.hornetq.management"> <permission type="manage" roles="admin" /> </security-setting> @@ -554,11 +554,11 @@
使用JMS进行管理 - 使用JMS管理HornetQ与使用核心API管理HornetQ十分相似。 + 使用JMS管理ActiveMQ与使用核心API管理ActiveMQ十分相似。 其中一个重要的不同是JMS需要一个JMS队列来发送消息(而核心接口使用的是一个地址)。 管理队列是一个特殊的队列,它需要客户端直接实例化: - Queue managementQueue = HornetQJMSClient.createQueue("hornetq.management"); + Queue managementQueue = ActiveMQJMSClient.createQueue("hornetq.management"); 其余步骤完全和使用核心接口一样,只是相应的对象不同: @@ -580,7 +580,7 @@ 例如,要得到一个JMS队列exampleQueue中有多少消息: - Queue managementQueue = HornetQJMSClient.createQueue("hornetq.management"); + Queue managementQueue = ActiveMQJMSClient.createQueue("hornetq.management"); QueueSession session = ... QueueRequestor requestor = new QueueRequestor(session, managementQueue); @@ -597,13 +597,13 @@
例子 - 参见,它展示了如何使用JMS消息来管理HornetQ。 + 参见,它展示了如何使用JMS消息来管理ActiveMQ。
管理通知 - HornetQ可以向listener发送各种事件的通知(如资源的创建,安全破坏等)。 + ActiveMQ可以向listener发送各种事件的通知(如资源的创建,安全破坏等)。 有三种方式接收管理通知 @@ -633,7 +633,7 @@
核心消息通知 - HornetQ定义了一个特殊的管理通知地址。核心队列绑定到该地址后,客户 + ActiveMQ定义了一个特殊的管理通知地址。核心队列绑定到该地址后,客户 端就可以接收以核心消息形式发送的管理信通知了。 一个核心客户端要想接收到管理通知,它必须要创建一个队列并绑定到这个管理通知地址上,然后从这个 队列接收通知。 @@ -650,7 +650,7 @@
JMS消息通知 - HornetQ还可以通过JMS消息的方式发送通知。 + ActiveMQ还可以通过JMS消息的方式发送通知。 这种方式与核心消息通知相似,但是有一个重要的不同:JMS消息需要一个JMS的目标(通常是一个Topic)。 要通过一个JMS目标来接收管理通知,必须将服务器的管理通知地址修改为以jms.queue开头(如果是一个 JMS队列)或者jms.topic(如果是一个话题): @@ -660,7 +660,7 @@ 这个通知话题一旦被创建,就可以接收消息了(或者使用MessageListener): - Topic notificationsTopic = HornetQJMSClient.createTopic("notificationsTopic"); + Topic notificationsTopic = ActiveMQJMSClient.createTopic("notificationsTopic"); Session session = ... MessageConsumer notificationConsumer = session.createConsumer(notificationsTopic); @@ -690,13 +690,13 @@
例子 参见。本例采用了JMS的 - MessageListener方法从HornetQ + MessageListener方法从ActiveMQ 服务器接收管理通知。
消息计数器 - HornetQ保存着队列的历史数据,而消息计数器可以从服务器上获取这些信息。 + ActiveMQ保存着队列的历史数据,而消息计数器可以从服务器上获取这些信息。 这些信息可以显示队列的一些趋势。例如,使用管理接口你可以定期来查询一个队列 的消息数量。但这个数量不足以说明这个队列是否在工作--也许这个队列既没有发送者也没有接收者;也许这个队列 在不停地发送与接收,但是发送消息的速度与接收的速度相等。两咱情况下都会造成消息数在队列中不变,但实际队列 @@ -747,7 +747,7 @@ 使用管理接口可以获得消息计数器。例如要使用JMX得到一个JMS队列的消息计数器: -// retrieve a connection to HornetQ's MBeanServer +// retrieve a connection to ActiveMQ's MBeanServer MBeanServerConnection mbsc = ... JMSQueueControlMBean queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc, on, @@ -768,10 +768,10 @@ System.out.format("%s message(s) in the queue (since last sample: %s)\n",
- 通过JBoss应用服务器的Admin Console来管理HornetQ的资源 - 通过JBoss应用服务器的Admin Console可以创建与配置HornetQ的各种资源。 + 通过JBoss应用服务器的Admin Console来管理ActiveMQ的资源 + 通过JBoss应用服务器的Admin Console可以创建与配置ActiveMQ的各种资源。 Admin Console允许你创建各种目标(JMS话题与队列)和JMS的连接工厂。 - 登录admin console后你在左边的树中会看到JMS Manager节点。所有HornetQ的资源都属于这个节点。在它的下面有JMS Queues、 + 登录admin console后你在左边的树中会看到JMS Manager节点。所有ActiveMQ的资源都属于这个节点。在它的下面有JMS Queues、 Topics以及Connection Factories。分别点击它们将会看到相应的资源。下面将解释如何创建并配置它们。
JMS队列 diff --git a/docs/user-manual/zh/master.xml b/docs/user-manual/zh/master.xml index 9023ca09a1..f7cc51fd0a 100644 --- a/docs/user-manual/zh/master.xml +++ b/docs/user-manual/zh/master.xml @@ -70,7 +70,7 @@ ]> - HornetQ 2.1用户手册 + ActiveMQ 2.1用户手册 Putting the buzz in messaging diff --git a/docs/user-manual/zh/message-expiry.xml b/docs/user-manual/zh/message-expiry.xml index ee13023759..68e8734a72 100644 --- a/docs/user-manual/zh/message-expiry.xml +++ b/docs/user-manual/zh/message-expiry.xml @@ -19,13 +19,13 @@ 过期的消息 消息在发送时有一个可选的生存时间属性。 - 如果一个消息已经超过了它的生存时间,HornetQ不再将它传递给任何接收者。 + 如果一个消息已经超过了它的生存时间,ActiveMQ不再将它传递给任何接收者。 服务器会将过期的消息抛弃。 - HornetQ的地址可以配置一个过期地址,当消息过期时,它们被从队列中删除并被转移到过期地址中。 + ActiveMQ的地址可以配置一个过期地址,当消息过期时,它们被从队列中删除并被转移到过期地址中。 多个不同的队列可以绑定到一个过期地址上。这些过期的消息过后可以接收下来以供分析用。
过期消息的配置 - 如果使用HornetQ核心API,可以直接在消息上设置过期时间: + 如果使用ActiveMQ核心API,可以直接在消息上设置过期时间: // message will expire in 5000ms from now message.setExpiration(System.currentTimeMillis() + 5000); @@ -61,7 +61,7 @@ producer.setTimeToLive(5000);
配置过期回收线程 - HornetQ有一个回收线程定期地检查队列中的消息,目的是发现是否有消息过期。 + ActiveMQ有一个回收线程定期地检查队列中的消息,目的是发现是否有消息过期。 activemq-configuration.xml文件中可以对回收线程进行配置,参数如下: diff --git a/docs/user-manual/zh/message-grouping.xml b/docs/user-manual/zh/message-grouping.xml index fb6271d17e..8f5cc4d033 100644 --- a/docs/user-manual/zh/message-grouping.xml +++ b/docs/user-manual/zh/message-grouping.xml @@ -22,7 +22,7 @@ 在一个消息组中的消息有相同的组标识(id),即它们的JMSXGroupID(JMS)或 - _HQ_GROUP_ID(HornetQ核心)的值相同。 + _HQ_GROUP_ID(ActiveMQ核心)的值相同。 不管存在多少个接收者(consumer),一个消息组的所有消息总是被同一个接收者所接收。一个组id总是 @@ -53,7 +53,7 @@ message.setStringProperty("JMSXGroupID", "Group-0"); producer.send(message); - 另一个方法是将HornetQConnectonFactoryautogroup + 另一个方法是将ActiveMQConnectonFactoryautogroup 属性设为true,或者在hornetq-jms.xml文件中进行配置: <connection-factory name="ConnectionFactory"> <connectors> @@ -143,7 +143,7 @@
集群消息组例子 - 参见,这个例子给出了如何在HornetQ集群中配置消息组。 + 参见,这个例子给出了如何在ActiveMQ集群中配置消息组。
diff --git a/docs/user-manual/zh/messaging-concepts.xml b/docs/user-manual/zh/messaging-concepts.xml index eef961c41a..dfdf63ffb5 100644 --- a/docs/user-manual/zh/messaging-concepts.xml +++ b/docs/user-manual/zh/messaging-concepts.xml @@ -18,7 +18,7 @@ 消息的相关概念 - HornetQ是一个异步的 ActiveMQ是一个异步的 面向消息的中间件。在本文档中我们简称为消息系统。 首先我们简要介绍消息系统是做什么的,在哪些领域得到应用,以及与消息相关的一些概念。 @@ -81,7 +81,7 @@
交易(Transactions) - 消息系统通常支持在一次本地交易中发送并通知多个消息。HornetQ还支持分布式交易。它可以通过Java的XA和JTA接口, + 消息系统通常支持在一次本地交易中发送并通知多个消息。ActiveMQ还支持分布式交易。它可以通过Java的XA和JTA接口, 将消息的发送与通知做为一个分布式交易的一部分来完成。
@@ -102,13 +102,13 @@ JMS是一个广泛使用的API,绝大多数的消息系统都支持它。JMS只有Java的客户端才可以使用。 JMS并没有定义传输的格式(wire format)。因此不同的JMS消息服务器的和客户端相互之间通常不能交互,这是因为每个消息系统都自己的传输格式。 - HornetQ全面支持JMS 1.1 API。 + ActiveMQ全面支持JMS 1.1 API。
专有的API 很多系统提供自己的一套API来与其消息系统进行通迅,其优势是它可以允许客户端使用其全部的功能。 像JMS那样的标准API往往不能提供许多消息系统所支持的额外的功能。 - HornetQ提供了一套自有的核心API,客户端程序可以通过它充分利用HornetQ的强大功能。 + ActiveMQ提供了一套自有的核心API,客户端程序可以通过它充分利用ActiveMQ的强大功能。 这对于一些JMS API满足不了的需求是非常有用的。
@@ -118,7 +118,7 @@ 由于云计算技术的API标准目前倾向于采用REST的方式,所以采用REST方式的消息系统很有望成为云计算中消息传送的标准。 REST方式中的各种消息资源以URI的方式来定义。用户通过一套很简单的操作与这些资源相交互,如PUT、POST、GET等。HTTP通常用来作为REST方式的通信协议。 采用HTTP的好处是它很简单实用,并且internet经过多年的发展已经能很好的支持HTTP协议。 - HornetQ将会很快地支持REST方式的API。 + ActiveMQ将会很快地支持REST方式的API。
STOMP @@ -126,28 +126,28 @@ url="http://stomp.codehaus.org/" >Stomp 是为消息系统定义的一套简单的文本传输协议。它定义了一种线上传输的格式, 因此采用Stomp编写的客户端可以与所有支持Stomp的消息系统交互。Stomp的客户端可以用多种编程语言来实现。 - 有关在HornetQ中如何使用Stomp的详细内容请参见 + 有关在ActiveMQ中如何使用Stomp的详细内容请参见
AMQP AMQP 是一套可支持互操作的消息规范。 它定义了自己的传输格式,因些任何AMQP的客户端都可以和支持AMQP的系统进行交互。AMQP的客户端可以用多种编程语言来实现。 - HornetQ将会很快地支持AMQP。 + ActiveMQ将会很快地支持AMQP。
高可获得性(Availability) 高可获得性是指在系统中有一个或多个服务器发生故障时仍然能够维持运转的特性。不同的消息系统对高可获得性的支持程度是不同的。 - HornetQ支持自动失效备援(failover),也就是当主服务器出现故障时,当前的会话会自动连接到备用的服务器上。 - 给出了HornetQ的HA特性的详细信息。 + ActiveMQ支持自动失效备援(failover),也就是当主服务器出现故障时,当前的会话会自动连接到备用的服务器上。 + 给出了ActiveMQ的HA特性的详细信息。
集群 许多消息系统支持由多个消息服务器组成的集群。集群可以使发送和接收的负荷分散到不同的服务器中。 通过增加集群服务器,可以有效的增加整个集群处理消息的能力。 然而不同的消息系统有着不同的集群架构。有的集群架构十分简单,有的集群中成员间的联系很少。 - HornetQ提供了非常先进的可配置的集群模型。根据每个节点接收者(consumer)的多少以及是否具有接收状态,消息在集群中可以进行智能化负载均衡。 - HornetQ还能够在集群中的节点间进行消息的再分发,以避免在某个节点出现消息匮乏(starvation)现象。 + ActiveMQ提供了非常先进的可配置的集群模型。根据每个节点接收者(consumer)的多少以及是否具有接收状态,消息在集群中可以进行智能化负载均衡。 + ActiveMQ还能够在集群中的节点间进行消息的再分发,以避免在某个节点出现消息匮乏(starvation)现象。 有关集群的详细内容参见
@@ -155,8 +155,8 @@ 有些消息系统可以将一些分散在不可靠的网络(如广域网或internet)上孤立的集群或节点桥接在一起。 通常一个桥的作用是从一台服务器的队列上接收消息然后将消息再转发到另一台服务器的队列中。桥连接可以解决不可靠网络连接的问题。 桥有自动重新连接的功能。一旦网络连接中断,桥可以自动进行重试直到重新连接上为止。 - HornetQ的桥接功能可以配置过滤表达式,以实现有条件的转发。另外,它还可以实现消息转换的功能(transformation)。 - HornetQ还允许配置消息在队列之间进行路由。利用它可以完成复杂的路由网络以便在不同队列间进行消息转发与复制,形成一个互连的消息代理(broker)网络。 + ActiveMQ的桥接功能可以配置过滤表达式,以实现有条件的转发。另外,它还可以实现消息转换的功能(transformation)。 + ActiveMQ还允许配置消息在队列之间进行路由。利用它可以完成复杂的路由网络以便在不同队列间进行消息转发与复制,形成一个互连的消息代理(broker)网络。 有关的详细内容将在给出。
diff --git a/docs/user-manual/zh/paging.xml b/docs/user-manual/zh/paging.xml index 8666de95c8..d6314773d0 100644 --- a/docs/user-manual/zh/paging.xml +++ b/docs/user-manual/zh/paging.xml @@ -18,12 +18,12 @@ 分页转存 - HornetQ可以在有限的内存下支持包含百万消息的超大规模的队列。 - 当有限的内存无法装得下如此多的消息时,HornetQ将它们分页转存到磁盘中,在内存 + ActiveMQ可以在有限的内存下支持包含百万消息的超大规模的队列。 + 当有限的内存无法装得下如此多的消息时,ActiveMQ将它们分页转存到磁盘中,在内存 有空闲时再将消息分页装载到内存。通过这样的处理,不需要服务器有很大的内存就可以支持大容量的队列。 - 通过配置可以给一个地址设置一个最大消息值。当这个地址消息数在内存中超过了这个值时,HornetQ开始将多余的消息 + 通过配置可以给一个地址设置一个最大消息值。当这个地址消息数在内存中超过了这个值时,ActiveMQ开始将多余的消息 转存到磁盘中。 - 默认情况下HornetQ不转存任何消息。这一功能必须显式地通过配置来激活。 + 默认情况下ActiveMQ不转存任何消息。这一功能必须显式地通过配置来激活。
分页文件 消息按照所属的地址分别保存在不同的文件中。每一个地址有一个单独的文件夹,每个文件夹内消息被保存在 @@ -62,7 +62,7 @@
paging-directory - 分页转存文件的位置。HornetQ在这个位置下为每个地址建立一个文件夹。 + 分页转存文件的位置。ActiveMQ在这个位置下为每个地址建立一个文件夹。 data/paging @@ -167,7 +167,7 @@ 分页转存与消息的选择器(selector)请注意消息选择器只对内存的消息进行操作。如果大量的消息被转存在磁盘中,而其中有些消息与选择器是相匹配的, 那么只有内存的消息被传递,这些消息被重新装载入内存后才有可能被传递出去。 - HornetQ不会扫描在磁盘中的消息来找出与选择器匹配的消息。这样做的话需要实现并管理一种索引机制才能使扫描有效地进行,另外 + ActiveMQ不会扫描在磁盘中的消息来找出与选择器匹配的消息。这样做的话需要实现并管理一种索引机制才能使扫描有效地进行,另外 需要其它额外的工作。所有这些如果去完成的话,相当于实现一个关系型数据库!这并不是消息系统的主要任务。如果你要完成的任务是 从海量的消息中选择少数消息,那么你很可能需要使用的是一个关系型数据库,不是消息系统。因为这相当于表的查询。 @@ -193,6 +193,6 @@
例子 - 是一个说明如何使用HornetQ的分页转发功能的例子。 + 是一个说明如何使用ActiveMQ的分页转发功能的例子。
diff --git a/docs/user-manual/zh/perf-tuning.xml b/docs/user-manual/zh/perf-tuning.xml index 5d4456e359..3e7573b116 100644 --- a/docs/user-manual/zh/perf-tuning.xml +++ b/docs/user-manual/zh/perf-tuning.xml @@ -18,7 +18,7 @@ 性能调优 - 本章讲述如何优化HornetQ的性能 + 本章讲述如何优化ActiveMQ的性能
持久层的优化 @@ -31,7 +31,7 @@ 尽量减少日志文件的数量。journal-min-files参数的设置应以满足平均 运行需要为准。如果你发现系统中经常有新的日志文件被创建,这说明持久的数据量很大,你需要适当增加 - 这个参数的值,以使HornetQ更多时候是在重用文件,而不是创建新文件。 + 这个参数的值,以使ActiveMQ更多时候是在重用文件,而不是创建新文件。 日志文件的大小。日志文件的大小最好要与磁盘的一个柱面的容量对齐。默认值是10MiB,它在绝大多数 @@ -81,14 +81,14 @@ 持久消息都会被写到磁盘中,这给系统带来了明显的负担。 - 将多个发送或通知放到一个事务中完成。这样HornetQ只需要一次网络的往返来发生事务的提交,而不是每次发送 + 将多个发送或通知放到一个事务中完成。这样ActiveMQ只需要一次网络的往返来发生事务的提交,而不是每次发送 或通知就需要一次网络的往返通迅。
其它优化 - 在HornetQ中还有其它一些地方可以优化: + 在ActiveMQ中还有其它一些地方可以优化: 使用异步发送通知。如果你在非事务条件下发送持久的消息,并且要保证在send()返回时持久消息已经到达服 @@ -130,7 +130,7 @@ 如果你的接收者速度很快,你可以增加consumer-window-size。这样实际上就关闭了流控制的功能。 - 套接字NIO与旧的IO对比。默认情况下HornetQ在服务器端使用套接字NIO技术,而在客户端则使用旧的(阻塞) + 套接字NIO与旧的IO对比。默认情况下ActiveMQ在服务器端使用套接字NIO技术,而在客户端则使用旧的(阻塞) IO(参见传输配置一章)。NIO比旧的阻塞式IO有更 强的可扩展性,但是也会带来一些延时。如果你的服务器要同时有数千个连接,使用NIO效果比较好。但是如果 连接数并没有这么多,你可以配置接收器使用旧的IO还提高性能。 @@ -169,7 +169,7 @@ serveruser hard nofile 20000 利用参数batch-delay并将参数direct-deliver - 设为false来提高小消息的处理效率。HornetQ在其activemq-configuration.xml + 设为false来提高小消息的处理效率。ActiveMQ在其activemq-configuration.xml 中预先配置了一个连接器/接受器对(netty-throughput),并且在 hornetq-jms.xml中配置了一个JMS连接工厂( ThroughputConnectionFactory)。它们可以用在小消息的处理应用中以提 @@ -188,7 +188,7 @@ serveruser hard nofile 20000 JVM选项-XX:+UseParallelOldGC. - 内存设置。尽量为服务器分配更多的内存。HornetQ利用其分页转存技术可以在很少的内存下运行(在 + 内存设置。尽量为服务器分配更多的内存。ActiveMQ利用其分页转存技术可以在很少的内存下运行(在 中有说明)。但是如果所有队列都在内存运行,性能将会很好。具体需要 多少内存要由你的队列的大小和数量以及消息的大小和数量决定。使用JVM参数-Xms-Xmx来为你的服务器分配内存。我们建议两个参数的设为相同的值。 @@ -211,7 +211,7 @@ serveruser hard nofile 20000 /会话/发送者或接收者。这样非常浪费资源。这些对象的创建要占用时间和网络带宽。它们应该进行重用。 有些常用的框架如Spring JMS Template在使用JMS时违背了设计模式。如果你在使用了它后性能 - 受到了影响。这不是HornetQ的原因!Spring的JMS模板只有与能缓存JMS会话的应用服务器一起使用 + 受到了影响。这不是ActiveMQ的原因!Spring的JMS模板只有与能缓存JMS会话的应用服务器一起使用 才是安全的,并且只能是用于发送消息。使用它在应用服务器中同步接收消息是不安全的。 diff --git a/docs/user-manual/zh/persistence.xml b/docs/user-manual/zh/persistence.xml index 638382fd0b..4a790b6f3b 100644 --- a/docs/user-manual/zh/persistence.xml +++ b/docs/user-manual/zh/persistence.xml @@ -18,23 +18,23 @@ 持久化 - 本章我们将描述HornetQ的持久化技术,包括持久化的工作原理和配置方法。 - HornetQ拥有一个高性能的日志(journal)模块来处理持久化。因此它并不依赖一个外部的数据库或第三方持久化产品。这个 + 本章我们将描述ActiveMQ的持久化技术,包括持久化的工作原理和配置方法。 + ActiveMQ拥有一个高性能的日志(journal)模块来处理持久化。因此它并不依赖一个外部的数据库或第三方持久化产品。这个 日志模块针对消息的处理进行了高度的优化。 - 所谓HornetQ日志是一个只添加系统。它由一组磁盘文件构成。每个文件都是预先创建好的并且 - 大小是固定的。文件在创建时都进行了格式化。随着HornetQ不断地处理消息,如消息的增加、更新、删除等,一个个记录被添加 + 所谓ActiveMQ日志是一个只添加系统。它由一组磁盘文件构成。每个文件都是预先创建好的并且 + 大小是固定的。文件在创建时都进行了格式化。随着ActiveMQ不断地处理消息,如消息的增加、更新、删除等,一个个记录被添加 到日志中。当一个日志文件写满时,新记录就会写到下一个文件。 由于对日志的写入只是对文件的添加,这样有效减少了随机寻道的操作。而随机寻道的操作是磁盘操作中最耗时的操作。 所以这种设计可以使磁头的运动降到最低,效率最高。 而文件的大小是可以配置的。这使我们可以将文件大小配置为刚好占满一个磁盘柱面。不过现代的磁盘技术是复杂多样的, 我们并不能控制文件与磁盘柱面的对应关系。尽管如此,我们通过最大限度地降低文件对磁盘柱面的占用,来降低磁头的运动。 这是因为在同一个柱面的存取只需要盘面的转动而不需要磁头的运动。 - 当被删除的记录越来越多时,有的文件最終会变成一个没有有效记录的文件。这样的文件就可以回收再利用。HornetQ有 + 当被删除的记录越来越多时,有的文件最終会变成一个没有有效记录的文件。这样的文件就可以回收再利用。ActiveMQ有 一套复杂的文件回收算法来判断一个日志文件是否可以被回收。 - HornetQ还有一套文件整理的算法,它用来将日志文件中不用的空隙移除以达到更高的存贮效率。 + ActiveMQ还有一套文件整理的算法,它用来将日志文件中不用的空隙移除以达到更高的存贮效率。 这个日志系统全面支持事务功能。根据需要它可以支持本地事务或XA型事务。 - 日志系统的大部分是用Java实现的,但是HornetQ在其中实现了一层抽象的文件系统,这样就使得其它的语言实现能 - 方便地“插入”到日志模块中。实际上HornetQ自带有两种实现: + 日志系统的大部分是用Java实现的,但是ActiveMQ在其中实现了一层抽象的文件系统,这样就使得其它的语言实现能 + 方便地“插入”到日志模块中。实际上ActiveMQ自带有两种实现: Java NIO @@ -44,7 +44,7 @@ Linux 异步IO (Asynchronous IO) 第二种是采用的Linux系统中的异步IO技术(AIO)。它包括了少量的平台相关的代码(native code)来 -          调用AIO的接口。当数据被保存到磁盘上后,AIO会回调HornetQ进行通知。这样,HornetQ就避免了磁盘写 +          调用AIO的接口。当数据被保存到磁盘上后,AIO会回调ActiveMQ进行通知。这样,ActiveMQ就避免了磁盘写 的同步操作。 使用AIO通常可以有比NIO更高的性能。 采用AIO的日志只能在运行 Linux kernel 2.6 或以上版本的内核的系统中才有。另外你需要安装libaio。 @@ -55,11 +55,11 @@ libaio是Linux内核项目的一部分。 - 标准的HornetQ核心服务器使用了两种日志: + 标准的ActiveMQ核心服务器使用了两种日志: 绑定日志 - 这个日志用来保存与绑定有关的数据。其中包括在HornetQ上部署的队列及其属性,还有ID序列计数器。 + 这个日志用来保存与绑定有关的数据。其中包括在ActiveMQ上部署的队列及其属性,还有ID序列计数器。 绑定日志是一个NIO型日志。与消息日志相比它的呑吐量是比较低的。 这种日志文件的名字采用hornetq-bindings作为前缀。每个文件都有 bindings这样的扩展。文件大小是 消息日志 这个日志用来存贮所有消息相关的数据,包括消息本身和重复ID缓存。 - 默认情况下HornetQ总是优先使用AIO型日志。如果AIO型日志不可用(比如在非Linux平台上运行,或系统内核版本不同) + 默认情况下ActiveMQ总是优先使用AIO型日志。如果AIO型日志不可用(比如在非Linux平台上运行,或系统内核版本不同) 它将自动使用NIO型日志。 这种日志文件的名字采用hornetq-data。作为前缀。每个文件都有  hq作为扩展名。默认的文件大小是 对于超大消息,Hornet将它们保存在消息日志之外的地方。详见. - HornetQ还可以在内存不够用时将消息暂存到磁盘上。相关的配置和说明参见 - 如果不需要持久功能,HornetQ还可以配置成非持久的消息系统。参见 + ActiveMQ还可以在内存不够用时将消息暂存到磁盘上。相关的配置和说明参见 + 如果不需要持久功能,ActiveMQ还可以配置成非持久的消息系统。参见
配置绑定日志 绑定日志的配置参数在 有效值是NIO 或者 ASYNCIO Choosing NIO chooses the Java NIO journal. Choosing AIO 选择作用异步IO型日志。如果你的平台不是Linux或者你没有安装 - libaio,HornetQ会自动检测到并使用NIO + libaio,ActiveMQ会自动检测到并使用NIO journal-sync-transactional - 如果设为true,HornetQ会保证在事务的边界操作时(commit, prepare和rollback)将事务数据 + 如果设为true,ActiveMQ会保证在事务的边界操作时(commit, prepare和rollback)将事务数据 写到磁盘上。默认的值是 true journal-sync-non-transactional - 如果设为true HornetQ将保证每次都将非事务性消息数据(发送和通知)保存到磁盘上。默认值是 true + 如果设为true ActiveMQ将保证每次都将非事务性消息数据(发送和通知)保存到磁盘上。默认值是 true journal-file-size @@ -148,9 +148,9 @@ journal-min-files - 最少日志文件数。当HornetQ启动时会创建这一数量的文件。 + 最少日志文件数。当ActiveMQ启动时会创建这一数量的文件。 创建并初始化日志文件是一项费时的操作,通常不希望这些操作在服务运行时执行。预先创建并初始化这些 - 日志文件将会使HornetQ在工作时避免浪费不必要的时间。 + 日志文件将会使ActiveMQ在工作时避免浪费不必要的时间。 根据你的应用中队列中消息量的实际要求可以适当调节这一参数。 @@ -212,7 +212,7 @@
安装AIO - Java NIO日志的性能是很好的。但是如果你是在Linux 内核2.6版本以上的系统中运行HornetQ,我们强烈建议 + Java NIO日志的性能是很好的。但是如果你是在Linux 内核2.6版本以上的系统中运行ActiveMQ,我们强烈建议 你使用 AIO日志,以获得更佳的性能。 在早期的Linux版本中或其它操作系统中不可以使用 AIO日志。 如果你的Linux内核是2.6版本或以上但没有安装 apt-get install libaio
- 配置HornetQ不使用持久化 - 在一些情况下消息系统并不需要持久化。这时可以配置HornetQ不使用持久层。只要将配置ActiveMQ不使用持久化 + 在一些情况下消息系统并不需要持久化。这时可以配置ActiveMQ不使用持久层。只要将activemq-configuration.xml文件中的persistence-enabled 参数设为false即可。 注意如果你将该参数设为 false来关闭持久化,就意味着所有的绑定数据、消息数据、超大消息数据、重复ID缓冲以及转移(paging)数据都将不会被持久。 diff --git a/docs/user-manual/zh/pre-acknowledge.xml b/docs/user-manual/zh/pre-acknowledge.xml index a7f42dd811..8029b1b112 100644 --- a/docs/user-manual/zh/pre-acknowledge.xml +++ b/docs/user-manual/zh/pre-acknowledge.xml @@ -32,7 +32,7 @@ 还有一种情况JMS不支持:应用程序在出现故障时可以容忍消息丢失,这样可以在消息在传递给客户 端之前就通知服务器。 - HornetQ支持这种模式,称为pre-acknowledge + ActiveMQ支持这种模式,称为pre-acknowledge 这种模式的缺点是消息在通知后,如果系统出现故障时,消息可能丢失。并且在系统重启后该消息 不能恢复。 使用pre-acknowledgement模式可以节省网络传输和CPU处理资源。 @@ -56,12 +56,12 @@ <pre-acknowledge>true</pre-acknowledge> </connection-factory> 另一个选择是使用JMS接口来设置pre-acknowledgement模式。只需要在创建JMS会话(session) - 时使用HornetQSession.PRE_ACKNOWLEDGE常数即可。 + 时使用ActiveMQSession.PRE_ACKNOWLEDGE常数即可。 // messages will be acknowledge on the server *before* being delivered to the client -Session session = connection.createSession(false, HornetQSession.PRE_ACKNOWLEDGE); +Session session = connection.createSession(false, ActiveMQSession.PRE_ACKNOWLEDGE); - 你还可以直接在HornetQConnectionFactory实例上设置该模式。 + 你还可以直接在ActiveMQConnectionFactory实例上设置该模式。 另外,如果使用核心接口,则在ClientSessionFactory实例上直接 设置该模式。
diff --git a/docs/user-manual/zh/preface.xml b/docs/user-manual/zh/preface.xml index fe25e7fc2b..2d07b55a87 100644 --- a/docs/user-manual/zh/preface.xml +++ b/docs/user-manual/zh/preface.xml @@ -18,26 +18,26 @@ 前言 - 什么是HornetQ? + 什么是ActiveMQ? - HornetQ 是一个开源的软件项目。它的目标是一个多协议、可嵌入、高性能、可集群的异步消息系统。 + ActiveMQ 是一个开源的软件项目。它的目标是一个多协议、可嵌入、高性能、可集群的异步消息系统。 - HornetQ 是一个消息中间件(MoM)。有关MoM和其它消息相关的概念解释请参见 ActiveMQ 是一个消息中间件(MoM)。有关MoM和其它消息相关的概念解释请参见 - 要了解有关HornetQ的更多信息请访问 + 要了解有关ActiveMQ的更多信息请访问 - 为什么要使用HornetQ? 以下给出了几个理由: + 为什么要使用ActiveMQ? 以下给出了几个理由: - HornetQ是100%的开源软件。 HornetQ 采用 Apache v 2.0开源协议,对用户的限制最小。 + ActiveMQ是100%的开源软件。 ActiveMQ 采用 Apache v 2.0开源协议,对用户的限制最小。 - HornetQ的设计强调可用性。 + ActiveMQ的设计强调可用性。 采用Java语言编写。可以在任何Java 6+ 的平台上运行。这几乎包括了从Windows到IBM mainframes的每个平台。 @@ -49,11 +49,11 @@ 功能全面。不仅拥有其它成熟消息产品所具有的全部功能,而且还有很多独特的功能。 - HornetQ的设计遵从了简约的原则。对第三方软件的依赖极少。根据不同的需要, - HornetQ可以单独运行,也可以运行于JEE应用服务器中。它还可以嵌入到你自己的应用程序中。 + ActiveMQ的设计遵从了简约的原则。对第三方软件的依赖极少。根据不同的需要, + ActiveMQ可以单独运行,也可以运行于JEE应用服务器中。它还可以嵌入到你自己的应用程序中。 - 完美的可获得性。HornetQ提供自动客户端失效备援(automatic client failover)功能,能保证在服务器故障时没有消息丢失或消息重复。 + 完美的可获得性。ActiveMQ提供自动客户端失效备援(automatic client failover)功能,能保证在服务器故障时没有消息丢失或消息重复。 超级灵活的集群方案。可以控制集群进行消息负载均衡的方式。分布在不同地理位置的各个集群间可以通过非可靠的网络连接形成一个全球网络。 @@ -61,8 +61,8 @@ 请访问 wiki - 来全面了解HornetQ的所有功能介绍。 + url="http://www.jboss.org/community/wiki/ActiveMQFeatures">wiki + 来全面了解ActiveMQ的所有功能介绍。
diff --git a/docs/user-manual/zh/project-info.xml b/docs/user-manual/zh/project-info.xml index d318795cd4..cdfba0772d 100644 --- a/docs/user-manual/zh/project-info.xml +++ b/docs/user-manual/zh/project-info.xml @@ -18,11 +18,11 @@ 项目信息 - HornetQ的官方网址是 ActiveMQ的官方网址是 http://hornetq.org/.
软件下载 - HornetQ的下载地址为:ActiveMQ的下载地址为:http://hornetq.org/downloads.html
@@ -30,11 +30,11 @@ - HornetQ的 wiki + ActiveMQ的 wiki - 如果在使用HornetQ中发生任何问题,可以去我们的 如果在使用ActiveMQ中发生任何问题,可以去我们的 用户论坛 @@ -54,7 +54,7 @@ 还可以跟踪我们的twitter - HornetQ的Git代码库地址 ActiveMQ的Git代码库地址 https://github.com/hornetq/hornetq @@ -65,7 +65,7 @@ - Red Hat 公司聘请全职工程师进行HornetQ项目的开发工作,他们是: + Red Hat 公司聘请全职工程师进行ActiveMQ项目的开发工作,他们是: Tim Fox (项目主管) diff --git a/docs/user-manual/zh/queue-attributes.xml b/docs/user-manual/zh/queue-attributes.xml index ca9697ce4a..8aac0f4810 100644 --- a/docs/user-manual/zh/queue-attributes.xml +++ b/docs/user-manual/zh/queue-attributes.xml @@ -98,7 +98,7 @@ max-delivery-attempts定义了最大重传递的次数。一个消息如果反复传递超过 了这个值将会被发往死信地址dead-letter-address。相关的完整的解释在 这里。 - redelivery-delay定义了重新传递的延迟。它控制HornetQ在重新 + redelivery-delay定义了重新传递的延迟。它控制ActiveMQ在重新 传递一个被取消的消息时要等待的时间。参见这里。 expiry-address定义了过期消息的发送地址。参见这里。 diff --git a/docs/user-manual/zh/security.xml b/docs/user-manual/zh/security.xml index 200387b029..3706d8ee9e 100644 --- a/docs/user-manual/zh/security.xml +++ b/docs/user-manual/zh/security.xml @@ -18,17 +18,17 @@ 安全 - 本章讲述HornetQ的安全机制以及如何配置它。要完全关闭安全,只要将activemq-configuration.xml + 本章讲述ActiveMQ的安全机制以及如何配置它。要完全关闭安全,只要将activemq-configuration.xml 文件中的security-enabled参数设为false即可。 - 出于性能的考虑,安全在HornetQ中被缓存一定的时间。要改变这个时间,需要设置参数 + 出于性能的考虑,安全在ActiveMQ中被缓存一定的时间。要改变这个时间,需要设置参数 security-invalidation-interval,单位是毫秒。默认值是 10000毫秒。
基于角色的地址安全 - HornetQ采用了基于角色的安全模型来配置地址的安全以及其队列的安全。 - 正如在解释的那样,HornetQ核心主要由绑定到地址上的队列组成。 + ActiveMQ采用了基于角色的安全模型来配置地址的安全以及其队列的安全。 + 正如在解释的那样,ActiveMQ核心主要由绑定到地址上的队列组成。 消息被发送到地址后,服务器查找与之绑定的队列,并将消息路由到这些队列中。 - HornetQ可以基于地址来给队列定义权限。在定义权限时可以使用通配符'#'和 + ActiveMQ可以基于地址来给队列定义权限。在定义权限时可以使用通配符'#'和 '*'。 队列的权限有7种,它们是: @@ -75,11 +75,11 @@ 角色的用户可以在以开头的地址上创建临时的队列。 任何具有admineurope-users角色的用户可以向以"globalqueues.europe."开头的地址 发送消息,并从绑定到相同地址上的队列接收消息。 - 安全管理器处理一个用户和它的角色的对应关系。HornetQ本身自带一个用户管理器,能从文件中读取用户的身份信息。 - 另外HornetQ还可以使用JAAS或JBoss应用服务器的安全管理机制。 + 安全管理器处理一个用户和它的角色的对应关系。ActiveMQ本身自带一个用户管理器,能从文件中读取用户的身份信息。 + 另外ActiveMQ还可以使用JAAS或JBoss应用服务器的安全管理机制。 有关安全管理器的配置信息,请参见 在每个xml文件中可以有零个或多个 security-setting。当一组地址有多个这样的设置时, - HornetQ总是选取更具体的匹配。 + ActiveMQ总是选取更具体的匹配。 让我们来看一个实例,下面是另一个security-setting <security-setting match="globalqueues.europe.orders.#"> @@ -101,13 +101,13 @@
安全套接字层(SSL)传输 - 当消息客户端与服务器端,或服务器之间(比如使用桥的情况)通过一个不信任的网络相互通信时,HornetQ + 当消息客户端与服务器端,或服务器之间(比如使用桥的情况)通过一个不信任的网络相互通信时,ActiveMQ 支持使用加密的安全套接字(SSL)传输数据。 关于SSL的详细配置信息,请参见
基本用户身份信息(Credentials) - HornetQ自带一个安全管理器(security manager)可以从xml文件中读取用户身份信息,即用户名、 + ActiveMQ自带一个安全管理器(security manager)可以从xml文件中读取用户身份信息,即用户名、 密码、角色信息。该xml文件名为activemq-users.xml,它必须要在classpath中。 如果你要使用这个安全管理器,就将用户名,密码,角色等信息加入到这个文件中。 让我们看一个例子: @@ -149,18 +149,18 @@ 如果你不想用默认的安全管理器,可以通过修改配置文件hornetq-beans.xml (或者在运行JBoss应用服务器情况下hornetq-jboss-beans.xml文件)来更换。同时要更换 - HornetQSecurityManager bean 的类。 + ActiveMQSecurityManager bean 的类。 让我们看一段默认bean文件的内容: -<bean name="HornetQSecurityManager" - class="org.apache.activemq.spi.core.security.HornetQSecurityManagerImpl"> +<bean name="ActiveMQSecurityManager" + class="org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl"> <start ignored="true"/> <stop ignored="true"/> </bean> - org.apache.activemq.spi.core.security.HornetQSecurityManagerImpl - 类就是HornetQ服务器的在独立运行时的默认的安全管理器。 - HornetQ自带有另外两个安全管理器可供使用。一个是JAAS安全管理器,另一个是用来与JBoss应用服务 + org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl + 类就是ActiveMQ服务器的在独立运行时的默认的安全管理器。 + ActiveMQ自带有另外两个安全管理器可供使用。一个是JAAS安全管理器,另一个是用来与JBoss应用服务 器集成的安全管理器。此外,你还可以编写实现你自己的安全管理器。首先要实现 org.apache.activemq.core.security.SecurityManager接口,再将你的实现 类定义到hornetq-beans.xml文件中即可(或者在JBoss应用服务器中 @@ -174,7 +174,7 @@ 要配置使用你自己的JAAS安全实现,需要在bean文件中定义JAASSecurityManager。 下面是一个例子:
例子 - 参见。这个例子展示了怎样在HornetQ中配置使用JAAS。 + 参见。这个例子展示了怎样在ActiveMQ中配置使用JAAS。
JBoss 应用服务器安全管理器 - JBoss 应用服务器安全管理器适用于当HornetQ运行于JBoss应用服务器内时。它可以与JBoss应用服务器 + JBoss 应用服务器安全管理器适用于当ActiveMQ运行于JBoss应用服务器内时。它可以与JBoss应用服务器 的安全模型紧密集成。 此安全管理器的类是 org.apache.activemq.integration.jboss.security.JBossASSecurityManager - 要了解如何配置JBoss安全管理器,可以看一眼HornetQ发布包中相关例子中的 + 要了解如何配置JBoss安全管理器,可以看一眼ActiveMQ发布包中相关例子中的 hornetq-jboss-beans.xml文件。
配置客户端登录 JBoss可以配置使用客户登录。JEE的模块如servlet或EJB可以将安全认证信息设置到安全上下文(security context)中, - 用于整个调用过程。如果想在HornetQ在发送和接收消息时使用这些认证(credential)信息,需要将参数 - allowClientLogin设为true。它会越过HornetQ的身份验证过程并会传播安全上下文(security - context)。如果你想要HornetQ使用传播的安全信息进行身份验证,需要同时将参数authoriseOnClientLogin + 用于整个调用过程。如果想在ActiveMQ在发送和接收消息时使用这些认证(credential)信息,需要将参数 + allowClientLogin设为true。它会越过ActiveMQ的身份验证过程并会传播安全上下文(security + context)。如果你想要ActiveMQ使用传播的安全信息进行身份验证,需要同时将参数authoriseOnClientLogin 设为true。 关于客户端登录的详细信息请访问这里 diff --git a/docs/user-manual/zh/send-guarantees.xml b/docs/user-manual/zh/send-guarantees.xml index 0c034c928b..b16180ef58 100644 --- a/docs/user-manual/zh/send-guarantees.xml +++ b/docs/user-manual/zh/send-guarantees.xml @@ -20,7 +20,7 @@ 发送与提交的保证
事务保证 - 在提交或回滚事务时,HornetQ将提交或回滚的请求发送到服务器,客户端阻塞等待服务器的响应。 + 在提交或回滚事务时,ActiveMQ将提交或回滚的请求发送到服务器,客户端阻塞等待服务器的响应。 当服务器端收到提交或回滚的请求时,它将事务信息记录到日志(journal)中。然后向客户端发回 响应。参数journal-sync-transactional控制着如何向客户端发回响应。 如果它的值是false,服务器向客户端发回响应时事务的处理結果不一定已经被 @@ -32,7 +32,7 @@
非事务性消息发送的保证 - 使用非事务性会话发送消息时,经过适当配置HornetQ,客户端在发送后以阻塞的方式等待,直到确认发出 + 使用非事务性会话发送消息时,经过适当配置ActiveMQ,客户端在发送后以阻塞的方式等待,直到确认发出 的消息已经到达服务器后再返回。可以对持久化或非持久化的消息分别配置,具体参数如下: @@ -49,13 +49,13 @@ 将发送设置为阻塞方式会降低程序的效率。因为每次发送都需要一次网络往返的过程,然后才可以进行下次发送。 这样发送消息的速度将受网络往返时间(RTT)的限制。这样你的网络带宽就可能没有被充分利用。为了提高效率,我们 - 建议采用事务来批量发送消息。因为在事务中,只有在提交或回滚时阻塞。另外你还可以利用HornetQ高级的 + 建议采用事务来批量发送消息。因为在事务中,只有在提交或回滚时阻塞。另外你还可以利用ActiveMQ高级的 异步发送通知功能。这一功能在 进行了描述。 使用JMS时,如果JMS的连接工厂是在服务器端被注册到JNDI服务,你需要配置 hornetq-jms.xml文件中的block-on-durable-sendblock-on-non-durable-send。如果不使用JNDI,可以调用 - HornetQConnectionFactory相应的设置方法进行配置。 + ActiveMQConnectionFactory相应的设置方法进行配置。 如果你使用的是内核服务,你可以直接在ClientSessionFactory上用相关的方法设置相应的参数。 当服务器从一个非事务性的会话收到一个消息时,如果这个消息是持久的并且此消息被路由到至少一个持久的队列中, @@ -65,14 +65,14 @@
非事务性通知的保证 - 当客户端使用非事务性会话向服务器通知消息收到时,可以配置HornetQ使得客户端的通知阻塞直到服务器收到 + 当客户端使用非事务性会话向服务器通知消息收到时,可以配置ActiveMQ使得客户端的通知阻塞直到服务器收到 了通知并返回为止。其相应的配置参数是BlockOnAcknowledge。如果该参数设为 true则所有的通过非事务会话的消息通知都是阻塞式的。如果你想要的消息传递策略是 最多一次的话,那么你需要将此参数设为。默认值是false
异步发送通知 - 如果你使用的是非事务会话来发送消息,并且希望保证每个发送出去的消息都到达服务器的话,你可以将HornetQ配置 + 如果你使用的是非事务会话来发送消息,并且希望保证每个发送出去的消息都到达服务器的话,你可以将ActiveMQ配置 成阻塞的方式,如讨论的那样。这样做的一个缺点是性能的降低。 因为这样每发送一个消息就需要一次网络的往返通信。如果网络时延越长,消息发送的效率就越低。同时网络的带宽对消息 的发送没有影响。 @@ -82,7 +82,7 @@ 如果每个消息的大小< 1500字节,而且网络的最大传输单元(MTU)是1500字节。那么理论上1GiB的网络 最大的传输速率是 (1024 * 1024 * 1024 / 8) / 1500 = 89478 消息每秒!尽管这不是一个精确的工程计算但 你可以看出阻塞式的发送对性能的影响会有多大。 - 为了解决这个问题,HornetQ提供了一种新的功能,称为异步发送通知。 + 为了解决这个问题,ActiveMQ提供了一种新的功能,称为异步发送通知。 它允许消息以非阻塞的方式发送,同时从另一个连接流中异步地接收服务器的通知。这样就使得消息的发送与通知分开来, 避免了阻塞方式带来的缺点。在保证消息可行发送到服务器的同时提高了呑吐量。 参数用来定义消息发送通知的窗口大小。它属于连接工厂或客户会话工厂。参见 diff --git a/docs/user-manual/zh/thread-pooling.xml b/docs/user-manual/zh/thread-pooling.xml index 7f38bf9e55..98e565b5b3 100644 --- a/docs/user-manual/zh/thread-pooling.xml +++ b/docs/user-manual/zh/thread-pooling.xml @@ -18,23 +18,23 @@ 线程管理 - 本章讲述HornetQ如何使用线程池以及如何管理线程。 + 本章讲述ActiveMQ如何使用线程池以及如何管理线程。 首先我们讨论在服务器端线程是如何被管理的,然后我们再讨论客户端的情况。
服务器端线程的管理 - 每个HornetQ服务器都有一个线程池作为一般线程使用,另外还有一个可计划线程池。Java的可计划线程池不能作为 + 每个ActiveMQ服务器都有一个线程池作为一般线程使用,另外还有一个可计划线程池。Java的可计划线程池不能作为 标准的线程池使用,因此我们采用了两个单独的线程池。 当使用旧的(阻塞)IO时,使用了一个单独的线程池来处理连接。但是旧的IO要求一个线程配一个连接,所以如果你 的应用有很多并发的连接,这个线程池会很快用光所有的线程,造成服务器出现“挂起”现象。因此,对于大量并发连接 的应用,一定要使用NIO。 - 如果使用NIO,默认情况下HornetQ会使用系统中处理器内核(或超线程)数量三倍的线程来处理接收的数据包。 + 如果使用NIO,默认情况下ActiveMQ会使用系统中处理器内核(或超线程)数量三倍的线程来处理接收的数据包。 内核的数量是通过调用Runtime.getRuntime().availableProcessors()来得到 的。如果你想改变这个数量,可以设置传输层配置参数nio-remoting-threads。 参见 另外在其它一些地方直接使用了线程,没有用线程池。我们将对这些线程作出解释。
服务器端可计划线程池 - 服务器可计划线程池可以定期地或延迟地执行所交给的任务,它用来完成HornetQ中绝大部分这样的任务。 + 服务器可计划线程池可以定期地或延迟地执行所交给的任务,它用来完成ActiveMQ中绝大部分这样的任务。 它内部使用的是一个 java.util.concurrent.ScheduledThreadPoolExecutor实例。 最大线程数可以在
过期回收线程 - HornetQ使用一个单独的线程来扫描队列中过期的消息。由于这个线程需要自己的优先级配置,所以不能使用上述的 + ActiveMQ使用一个单独的线程来扫描队列中过期的消息。由于这个线程需要自己的优先级配置,所以不能使用上述的 任何一个线程池。 关于回收线程的配置请参阅
异步IO - HornetQ使用一个线程池来进行异步IO的操作,包括事件的接收和发送。这些线程的名字都是以 - HornetQ-AIO-poller-pool为开头。每个打开的日志文件都对应有一个线程为其服务(通常只有 + ActiveMQ使用一个线程池来进行异步IO的操作,包括事件的接收和发送。这些线程的名字都是以 + ActiveMQ-AIO-poller-pool为开头。每个打开的日志文件都对应有一个线程为其服务(通常只有 一个)。 还有一个单独的线程用于向libaio发送写请求。这样做是为了避免上下文转换带来的性能下降。该 - 线程的名字以HornetQ-AIO-writer-pool开头。 + 线程的名字以ActiveMQ-AIO-writer-pool开头。
客户端线程管理 - 在客户端HornetQ有一个静态的可计划线程池和一个静态的通用线程池,它们在一个JVM中由同一个classloader装载的所有客户端 + 在客户端ActiveMQ有一个静态的可计划线程池和一个静态的通用线程池,它们在一个JVM中由同一个classloader装载的所有客户端 共同使用。 静态的可计划的线程池的最大线程数为 5,通用线程池则没有线程数限制。 如果需要还可以配置一个ClientSessionFactory实例以使它拥有自己的可计划与通用线程池。通过这个工厂创建的会话都 将使用这些线程池。 要想配置ClientSessionFactory使用自己的线程池,只要调用它相应的方法取出可,如: - ClientSessionFactory myFactory = HornetQClient.createClientSessionFactory(...); + ClientSessionFactory myFactory = ActiveMQClient.createClientSessionFactory(...); myFactory.setUseGlobalPools(false); myFactory.setScheduledThreadPoolMaxSize(10); myFactory.setThreadPoolMaxSize(-1); 如果使用JMS,你可以先用同样的参数设置ClientSessionFactory,然后再用这样工厂创建ConnectionFactory的实例。如: - ConnectionFactory myConnectionFactory = HornetQJMSClient.createConnectionFactory(myFactory); - 如果你使用JNDI来创建HornetQConnectionFactory + ConnectionFactory myConnectionFactory = ActiveMQJMSClient.createConnectionFactory(myFactory); + 如果你使用JNDI来创建ActiveMQConnectionFactory 实例,你还可以在hornetq-jms.xml文件中进行配置。如: <connection-factory name="ConnectionFactory"> <connectors> diff --git a/docs/user-manual/zh/transaction-config.xml b/docs/user-manual/zh/transaction-config.xml index c36817e0a9..33af2b77e6 100644 --- a/docs/user-manual/zh/transaction-config.xml +++ b/docs/user-manual/zh/transaction-config.xml @@ -18,12 +18,12 @@ 配置资源管理器(Resource Manager) - HornetQ有自己的资源管理器来管理JTA事务。当一个事务开始时,资源管理器就得到通知并记录下该事务和它的状态。 + ActiveMQ有自己的资源管理器来管理JTA事务。当一个事务开始时,资源管理器就得到通知并记录下该事务和它的状态。 有的时候一个事务开始后,最終被忘记。有时客户端崩溃并且再也不能恢复,这样的话该事务就一直存在下去。 - 为了解决这个问题,可以配置HornetQ来扫描过期的事务,并且将它们回滚。默认值是3000000毫秒(5分钟)。 + 为了解决这个问题,可以配置ActiveMQ来扫描过期的事务,并且将它们回滚。默认值是3000000毫秒(5分钟)。 它表示任何超过5分钟的事务都将被删除。这个超时对应的参数是transaction-timeout,它在配置文件activemq-configuration.xml中(单位毫秒)。 - 参数transaction-timeout-scan-period定义了HornetQ扫描过期事务的间隔。 - 注意HornetQ不会单方面回滚一个已经处于准备状态的XA事务。如果你认为这些事务永远不会被事务管理器(transaction manager) + 参数transaction-timeout-scan-period定义了ActiveMQ扫描过期事务的间隔。 + 注意ActiveMQ不会单方面回滚一个已经处于准备状态的XA事务。如果你认为这些事务永远不会被事务管理器(transaction manager) 来处理的话,你必须通过管理接口来进行回滚。 diff --git a/docs/user-manual/zh/undelivered-messages.xml b/docs/user-manual/zh/undelivered-messages.xml index d099f92a3e..0e43e8c0d3 100644 --- a/docs/user-manual/zh/undelivered-messages.xml +++ b/docs/user-manual/zh/undelivered-messages.xml @@ -47,7 +47,7 @@ <redelivery-delay>5000</redelivery-delay> </address-setting> - 如果定义了redelivery-delay,HornetQ在再传递之前等待所定义的时间。 + 如果定义了redelivery-delay,ActiveMQ在再传递之前等待所定义的时间。 默认是没有延时的(即redelivery-delay的值是0)。 可以使用通配符为一组地址定义再传递的延迟(参见)。 @@ -62,7 +62,7 @@ 通过定义一个死信地址也可以防止同一个消息被无休止地传递: 当一个消息被重复传递一定次数后,就会从队列中删除并传递到定义好的死信地址中。 这些死信中的消息之后可以转发到某个队列中,以供系统管理员分析处理。 - 每个HornetQ的地址可以有一个死信地址。当一个消息被反复传递达一定次数时,它就会被从队列中删除并送到 + 每个ActiveMQ的地址可以有一个死信地址。当一个消息被反复传递达一定次数时,它就会被从队列中删除并送到 死信地址。这些死信消息可以被接收进行分析处理。
配置死信地址 @@ -101,13 +101,13 @@
传递计数的持久化 - 通常情况下HornetQ在一个消息被回滚之前并不更新持久的传递计数(即在消息传递到接收者之前不会更新传递计数)。 + 通常情况下ActiveMQ在一个消息被回滚之前并不更新持久的传递计数(即在消息传递到接收者之前不会更新传递计数)。 大多数情况下消息被接收、通知、然后被忘掉。这样对每一个消息的传递都要更新一次持久的 传递计数,会显著降低系统的性能。 介是如果在消息传递之前不进行持久传递计数的更新,服务器一旦发生故障而崩溃,就会造成消息可能被传递出去而传递 计数却没有正确反映出传递的結果。在恢复阶段,服务器将错误地将该消息的redelivered设为 false而不是true - 这样是不符合严格的JMS要求的。因此HornetQ允许在消息传递前更新传递计数。但是默认不这样做,目的是优先考虑 + 这样是不符合严格的JMS要求的。因此ActiveMQ允许在消息传递前更新传递计数。但是默认不这样做,目的是优先考虑 了它对性能的影响。 要想打开传递计数更新功能,将activemq-configuration.xml文件中的 persist-delivery-count-before-delivery设为true即可: diff --git a/docs/user-manual/zh/using-core.xml b/docs/user-manual/zh/using-core.xml index 53172e664f..4d19a9e62e 100644 --- a/docs/user-manual/zh/using-core.xml +++ b/docs/user-manual/zh/using-core.xml @@ -17,8 +17,8 @@ - 使用HornetQ内核 - HornetQ内核是一个与JMS无关的消息系统,它有一套自己的API。我们称它为内核API. + 使用ActiveMQ内核 + ActiveMQ内核是一个与JMS无关的消息系统,它有一套自己的API。我们称它为内核API. 你可以直接使用内核API。使用内核API可以完成JMS同样的功能,只是比起JMS API使用更加简单方便。另外,内核API 还提供了JMS不具有的额外的功能。
@@ -52,23 +52,23 @@ 非持久消息则会因为服务器的故障或重启而丢失。 - 消息具有优先级。优先级的值为从0到9的整数。0代表最低优先级,9代表最高优先级。HornetQ总 + 消息具有优先级。优先级的值为从0到9的整数。0代表最低优先级,9代表最高优先级。ActiveMQ总 会尝试先传送优先级高的消息。 - 消息还有一个可选的失效时间。如果一个消息过了失效时间,HornetQ将不再传送它。 + 消息还有一个可选的失效时间。如果一个消息过了失效时间,ActiveMQ将不再传送它。 消息还有一个可选的时间戳(timestamp)。这个时间戳表示的是消息被发送的时间。 - HornetQ还支持大消息的发送。它可以处理大到内存装不下的超大消息。 + ActiveMQ还支持大消息的发送。它可以处理大到内存装不下的超大消息。
地址(Address) - HornetQ服务器保存有地址和queue的映射集。一个地址对应零个或多个queue。每个queue还可以拥有消息 + ActiveMQ服务器保存有地址和queue的映射集。一个地址对应零个或多个queue。每个queue还可以拥有消息 过滤器(filter)。当一个消息在服务器内进行路由时,它将会被送往与其地址相绑定的所有的queue中。但是 如果其中某个queue有过滤器,那么只有与其过滤器相匹配的消息才会被发到这个queue中。 其它的实体如diverts也可以与一地址进行绑定,消息也会被同样 @@ -95,7 +95,7 @@ >ClientSession 实例。 ClientSessionFactory 知道如何连接到服务器并创建会话(session)。它是可以根据不同需要灵活配置的。 ClientSessionFactory实例是通过 HornetQClient 工厂类创建的。 + >ActiveMQClient 工厂类创建的。
ClientSession @@ -105,15 +105,15 @@ 交易中。 ClientSession 管理着ClientConsumers和ClientProducers。 ClientSession 实例可以注册一个可选的 SendAcknowledgementHandler。每当消息被送达HornetQ服务器中时, - HornetQ就用它来异步地发出通知。有了这个独特的功能,客户可以不必阻塞在每次消息的发送操作上来保证 + >SendAcknowledgementHandler。每当消息被送达ActiveMQ服务器中时, + ActiveMQ就用它来异步地发出通知。有了这个独特的功能,客户可以不必阻塞在每次消息的发送操作上来保证 消息安全到达服务器。如果采用阻塞的方法,那么每一个消息的发送都要包括往返两次的网络传递操作,开销 是很大的。有了这个异步方式就可以避免这种开销,建立真正的异步的端到端间的系统。这是标准的JMS接口 无法做到的。参见 了解相关的更详细的信息。
ClientConsumer - 客户端使用 ClientConsumer 实例来接收来自queue的消息。HornetQ的内核同时支持 + 客户端使用 ClientConsumer 实例来接收来自queue的消息。ActiveMQ的内核同时支持 同步与异步的消息接收。ClientConsumer 实例可以配置有可选的过滤器。它只接收与过滤 器相匹配的消息。
@@ -134,7 +134,7 @@ 一个内核的应用实例 下面是一个非常简单的使用内核API来发送的接收消息的实例: -ClientSessionFactory factory = HornetQClient.createClientSessionFactory( +ClientSessionFactory factory = ActiveMQClient.createClientSessionFactory( new TransportConfiguration( InVMConnectorFactory.class.getName())); diff --git a/docs/user-manual/zh/using-jms.xml b/docs/user-manual/zh/using-jms.xml index 90756322a0..a70350aafc 100644 --- a/docs/user-manual/zh/using-jms.xml +++ b/docs/user-manual/zh/using-jms.xml @@ -18,14 +18,14 @@ 使用JMS - 很多用户喜欢使JMS,因此HornetQ提供了JMS服务。 + 很多用户喜欢使JMS,因此ActiveMQ提供了JMS服务。 JMS是一个普遍使用API标准,绝大多数的消息系统都提供JMS接口。如果你对JMS还不熟悉,建议你先参考一下 Sun的 JMS 教程 - HornetQ还提供了许多的JMS的示例程序(examples)。比如简单的JMS Queue和Topic的示例,就很适合初学者做为了 - 解HornetQ JMS的起点。对这些示例作了详细的说明。 - 下面我们将带领读者一步步地配置HornetQ的JMS服务,并创建一个简单的JMS程序。我们还将展示如何在没有JNDI的情况下 - 来使用HornetQ中的JMS。 + ActiveMQ还提供了许多的JMS的示例程序(examples)。比如简单的JMS Queue和Topic的示例,就很适合初学者做为了 + 解ActiveMQ JMS的起点。对这些示例作了详细的说明。 + 下面我们将带领读者一步步地配置ActiveMQ的JMS服务,并创建一个简单的JMS程序。我们还将展示如何在没有JNDI的情况下 + 来使用ActiveMQ中的JMS。
一个简单的订购系统 本章我们将用一个简单的订购系统做为一个例子。尽管它十分简单,但是它能够很好地向大家展示JMS的设置和使用。 @@ -68,13 +68,13 @@ 中即可。 在JMS ConnectionFactory的配置中引用了一个名为 nettyconnector。 - 它实际上指向的是HornetQ核心中部署的一个连接器(connector)。它的配置在HornetQ的核心配置文件 + 它实际上指向的是ActiveMQ核心中部署的一个连接器(connector)。它的配置在ActiveMQ的核心配置文件 activemq-configuration.xml 中。它定义了采用何种传输与服务器连接。
连接工厂的类型 - 在JMS API文档中有几种不同类型的连接工厂供用户使用。HornetQ为用户提供了配置连接工厂类型的参数。用户可以通过 + 在JMS API文档中有几种不同类型的连接工厂供用户使用。ActiveMQ为用户提供了配置连接工厂类型的参数。用户可以通过 配置连接工厂的”signature"属性和"xa"参数来得到想要的类型。“singature"属性是字符串类型,它有三个可选值: genericqueuetopic; xa是一个布尔型参数。下表给出了不同类型连接工厂对应的配置值: @@ -176,8 +176,8 @@ java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 千万不能用localhost - 只有当HornetQ作为独立服务器运行时 - 才可以配置JNDIServer bean。当HornetQ运行于JBoss应用服务器中时,由于JBOSS服务器已经提供了 + 只有当ActiveMQ作为独立服务器运行时 + 才可以配置JNDIServer bean。当ActiveMQ运行于JBoss应用服务器中时,由于JBOSS服务器已经提供了 JNDI服务,所以就不需要再进行配置了。
@@ -207,7 +207,7 @@ producer.send(message);
TextMessage receivedMessage = (TextMessage)consumer.receive(); System.out.println("Got order: " + receivedMessage.getText()); - 看起来就是这么简单。 在HornetQ有发布包中有很多各种各样的JMS例子供用户参考。 + 看起来就是这么简单。 在ActiveMQ有发布包中有很多各种各样的JMS例子供用户参考。 请注意,JMS的连接(connection)、会话(session)、生产者(producer)和消费者(consumer) 对象是可以重用的。 @@ -220,19 +220,19 @@ System.out.println("Got order: " + receivedMessage.getText()); 尽管采用JNDI对 JMS 的各种管理对象(Administered Objects) (即JMS Queue, Topic and ConnectionFactory)是很常用的方法,但在有些 情况时JNDI不可用,或者你不需要用JNDI时,如何还能正常使用JMS呢? - HornetQ允许你不通过JNDI也能使用JMS。HornetQ支持直接创建JMS的各种对象而无需JNDI的存在。 + ActiveMQ允许你不通过JNDI也能使用JMS。ActiveMQ支持直接创建JMS的各种对象而无需JNDI的存在。 中包括有这样的例子供读者参考。 下面我们就将上述那个简单的例子重写,以抛开对JNDI的依赖: - 我们通过HornetQJMSClient类来方便地创建JMS的ConnectionFactory。注意这里要提供各种连接参数和定义 + 我们通过ActiveMQJMSClient类来方便地创建JMS的ConnectionFactory。注意这里要提供各种连接参数和定义 所用的传输方式。有关连接器(connector)的信息参见 TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName()); -ConnectionFactory cf = HornetQJMSClient.createConnectionFactory(transportConfiguration); +ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory(transportConfiguration); - 同样利用HornetQJMSClient类创建JMS Queue对象: - Queue orderQueue = HornetQJMSClient.createQueue("OrderQueue"); + 同样利用ActiveMQJMSClient类创建JMS Queue对象: + Queue orderQueue = ActiveMQJMSClient.createQueue("OrderQueue"); 然后用连接工厂创建 JMS 连接: Connection connection = cf.createConnection(); 还有非事务的\AUTO_ACKNOWLEDGE方式的 JMS 会话(session): diff --git a/docs/user-manual/zh/using-server.xml b/docs/user-manual/zh/using-server.xml index 1f10a26b66..01835f6b8f 100644 --- a/docs/user-manual/zh/using-server.xml +++ b/docs/user-manual/zh/using-server.xml @@ -17,21 +17,21 @@ - 使用HornetQ服务 - 本章将介绍如何使用HornetQ服务。 - 其中的内容包括服务器的位置,如何启动和停止HornetQ服务器。本章还将解释HornetQ的目录结构,其中的文件及其用途。 - 本章中所提到的HornetQ服务器是指HornetQ默认配置的独立服务器,包含JMS服务和JNDI服务。 - 对于运行于JBoss应用服务器中的HornetQ,其基本结构是一样的,只是有一些小的差别。 + 使用ActiveMQ服务 + 本章将介绍如何使用ActiveMQ服务。 + 其中的内容包括服务器的位置,如何启动和停止ActiveMQ服务器。本章还将解释ActiveMQ的目录结构,其中的文件及其用途。 + 本章中所提到的ActiveMQ服务器是指ActiveMQ默认配置的独立服务器,包含JMS服务和JNDI服务。 + 对于运行于JBoss应用服务器中的ActiveMQ,其基本结构是一样的,只是有一些小的差别。
服务的启动和停止 - 在HornetQ的安装目录下bin子目录中包含有一个unit/linux脚本run.sh和对应的Windows批处理文件run.bat。 + 在ActiveMQ的安装目录下bin子目录中包含有一个unit/linux脚本run.sh和对应的Windows批处理文件run.bat。 如果你是在Unix/Linux环境,在bin目录下运行./run.sh 如果是在Windows环境,则在bin目录下运行 run.bat 这个脚本文件会设置classpath以及各种JVM参数,并启动JBoss Microcontainer。JBoss Microcontainer是一个轻量级的容器。 - 它被用来部署HornetQ的POJO对象。 + 它被用来部署ActiveMQ的POJO对象。 要停止服务,运行其中的相应脚本:在Unix/Linux环境下,运行 stop.sh。 在Windows环境,运行 run.bat - 注意HornetQ需要在Java 6及以上版本才能正常运行。 + 注意ActiveMQ需要在Java 6及以上版本才能正常运行。 启动和停止脚本在默认条件下读取config/stand-alone/non-clustered目录下的配置文件。 如果要指向其他目录,可以在命令行实现,例如: ./run.sh ../config/stand-alone/clustered。 这一方法同样适用于Windows批处理文件。 @@ -41,14 +41,14 @@ 在启动脚本run.shrun.bat中设置了一些JVM参数, 这些参数主要是调整Java 6的运行环境及拉圾回收的策略。我们建议采用并行拉圾回收的方法。 这种方法可以将拉圾回收所造成的延时进行平均分配,有效减少由于拉圾回收引起的长时间暂停的情况。 - 默认条件下HornetQ需要最大1GB的内存空间。通过-Xms-Xmx可以调整Java程序内存的使用。 + 默认条件下ActiveMQ需要最大1GB的内存空间。通过-Xms-Xmx可以调整Java程序内存的使用。 你可以向启动脚本中添加其它的参数或修改已有的参数,已满足你的需要。
服务器端的classpath - HornetQ在其classpath中寻找配置文件。 - classpath被定义在run.shrun.bat脚本中。在HornetQ的发布中,启动脚本将非集群的配置文件目录加进了classpath中。该目录包括了一组配置文件,可以让HornetQ以基本的非集群方式运行。它的具体位置是在HornetQ发布根目录下 config/stand-along/non-clustered/ 子目录。 - 在HornetQ的发布包中包括了一组标准的配置目录,它们是: + ActiveMQ在其classpath中寻找配置文件。 + classpath被定义在run.shrun.bat脚本中。在ActiveMQ的发布中,启动脚本将非集群的配置文件目录加进了classpath中。该目录包括了一组配置文件,可以让ActiveMQ以基本的非集群方式运行。它的具体位置是在ActiveMQ发布根目录下 config/stand-along/non-clustered/ 子目录。 + 在ActiveMQ的发布包中包括了一组标准的配置目录,它们是: 非集群方式的独立服务器配置 @@ -63,7 +63,7 @@ 集群方式运行于JBoss应用服务器 - 当然你可以创建自己定义的配置文件目录。要注意的是将你的目录加到classpath中以便HornetQ能正确找到并加载。 + 当然你可以创建自己定义的配置文件目录。要注意的是将你的目录加到classpath中以便ActiveMQ能正确找到并加载。
Library Path @@ -73,7 +73,7 @@
系统变量 - HornetQ命令行可以接受系统变量来配置日志(logging)。有关logging配置的具体信息参见 + ActiveMQ命令行可以接受系统变量来配置日志(logging)。有关logging配置的具体信息参见
配置文件 @@ -81,27 +81,27 @@ hornetq-beans.xml (如果是运行在JBoss应用服务器内,则为 hornetq-jboss-beans.xml)。这是JBoss Microcontainer的bean配置文件。其中定义了HornetQ的 - 各种bean,以及它们之间的依赖关系。HornetQ的bean都是一些POJO。是JBoss Microcontainer保证了这些bean的正确装载和运行。 + >hornetq-jboss-beans.xml)。这是JBoss Microcontainer的bean配置文件。其中定义了ActiveMQ的 + 各种bean,以及它们之间的依赖关系。ActiveMQ的bean都是一些POJO。是JBoss Microcontainer保证了这些bean的正确装载和运行。 - activemq-configuration.xml。这个是HornetQ的主要的配置文件。 + activemq-configuration.xml。这个是ActiveMQ的主要的配置文件。 其中的所有参数在中给出了解释. 在 也有更多的相关信息。 activemq-queues.xml。这个文件里包含了预定义的queue以及它们的配置,包括安全设置。 这是一个可选的文件,里面所有的内容都可以放在 activemq-configuration.xml文件中。 - 在默认的配置文件目录下并没有这个文件。HornetQ之所以提供这个文件是为了用户便于管理他们的queue。在classpath中 + 在默认的配置文件目录下并没有这个文件。ActiveMQ之所以提供这个文件是为了用户便于管理他们的queue。在classpath中 允许包含多个 activemq-queues.xml 文件。所有的这些文件都会被加载。 - activemq-users.xml。用户信息文件。HornetQ本身实现了一个基本的 + activemq-users.xml。用户信息文件。ActiveMQ本身实现了一个基本的 安全管理器(security manager),它从这个文件内读取用户的安全信息,如用户名,密码和角色。 想了解更多关于安全的信息,参见 - hornetq-jms.xml。这个文件包含有JMS对象。HornetQ的默认配置中包含有JMS服务, + hornetq-jms.xml。这个文件包含有JMS对象。ActiveMQ的默认配置中包含有JMS服务, 它从这个文件中读取JMS Queue,Topic和ConnectionFactory并将它们部署到JNDI服务中。如果你不使用JMS, 或者你不需要部署这些JMS对象,那么你就不需要这个文件。有关JMS的使用详见 @@ -116,7 +116,7 @@ 如果在activemq-configuration.xml文件中将file-deployment-enabled 参数 - 定义为false,则HornetQ将不会加载其它的配置文件。这个参数的默认值是true。 + 定义为false,则ActiveMQ将不会加载其它的配置文件。这个参数的默认值是true。 所有配置文件中的参数都可以用系统变量来定义其值。以下用一个connector的配置来说明: <connector name="netty"> @@ -133,13 +133,13 @@
JBoss Microcontainer Beans 文件 - HornetQ的POJO对象是由 JBoss Microcontainer + ActiveMQ的POJO对象是由 JBoss Microcontainer 进行加载和运行的。JBoss Microcontainer是一个轻量级的加载工具。 - 如果是在JBoss应用服务器内运行,HornetQ同样需要一个bean的配置文件来将其部署到JBoss中。但是这与单独运行时的配置文件略有不同。 - 这是因为应用服务器内已经部署了一些服务,如安全服务等。所以在HornetQ中这些服务就不需要再部署了。 + 如果是在JBoss应用服务器内运行,ActiveMQ同样需要一个bean的配置文件来将其部署到JBoss中。但是这与单独运行时的配置文件略有不同。 + 这是因为应用服务器内已经部署了一些服务,如安全服务等。所以在ActiveMQ中这些服务就不需要再部署了。 - 让我们看一个HornetQ作为单独服务器时的一个配置文件例子: + 让我们看一个ActiveMQ作为单独服务器时的一个配置文件例子: <?xml version="1.0" encoding="UTF-8"?> @@ -169,14 +169,14 @@ </bean> <!-- The security manager --> -<bean name="HornetQSecurityManager" - class="org.apache.activemq.spi.core.security.HornetQSecurityManagerImpl"> +<bean name="ActiveMQSecurityManager" + class="org.apache.activemq.spi.core.security.ActiveMQSecurityManagerImpl"> <start ignored="true"/> <stop ignored="true"/> </bean> <!-- The core server --> -<bean name="HornetQServer" class="org.apache.activemq.core.server.impl.HornetQServerImpl"> +<bean name="ActiveMQServer" class="org.apache.activemq.core.server.impl.ActiveMQServerImpl"> <start ignored="true"/> <stop ignored="true"/> <constructor> @@ -187,7 +187,7 @@ <inject bean="MBeanServer"/> </parameter> <parameter> - <inject bean="HornetQSecurityManager"/> + <inject bean="ActiveMQSecurityManager"/> </parameter> </constructor> </bean> @@ -197,14 +197,14 @@ class="org.apache.activemq.jms.server.impl.JMSServerManagerImpl"> <constructor> <parameter> - <inject bean="HornetQServer"/> + <inject bean="ActiveMQServer"/> </parameter> </constructor> </bean> </deployment> - 我们从上可以看出HornetQ的单独服务器(以及核心服务器)包括了一些POJO对象: + 我们从上可以看出ActiveMQ的单独服务器(以及核心服务器)包括了一些POJO对象: JNDIServer @@ -218,17 +218,17 @@ Configuration - 这是HornetQ的Configuration对象。默认时它是一个FileConfiguration对象。它可以从文件系统中读取 - 配置信息。有些情况下(如嵌入式HornetQ)你可以将它定义为其它对象,以便用其它方法获得配置信息。 + 这是ActiveMQ的Configuration对象。默认时它是一个FileConfiguration对象。它可以从文件系统中读取 + 配置信息。有些情况下(如嵌入式ActiveMQ)你可以将它定义为其它对象,以便用其它方法获得配置信息。 Security Manager. 可配置的安全管理器。默认的安全管理器使用 activemq-users.xml 文件中的配置信息。 - 它也可以配置为一个JAAS的安全管理器。当HornetQ运行于JBoss应用服务器中时,它还可以配置为JBoss的安全管理器,以达到更紧密的集成。 + 它也可以配置为一个JAAS的安全管理器。当ActiveMQ运行于JBoss应用服务器中时,它还可以配置为JBoss的安全管理器,以达到更紧密的集成。 如果不需要安全管理,你也可以将它删除。 - HornetQServer - 这是HornetQ的核心服务对象,几乎所有的核心功能都在这里。 + ActiveMQServer + 这是ActiveMQ的核心服务对象,几乎所有的核心功能都在这里。 JMSServerManager @@ -241,45 +241,45 @@
JBoss AS4 MBean 服务 - 本节只讨论在JBoss AS 4上配置HornetQ。其与JBoss Microcontainer的配置很相似。 + 本节只讨论在JBoss AS 4上配置ActiveMQ。其与JBoss Microcontainer的配置很相似。 <?xml version="1.0" encoding="UTF-8"?> <server> - <mbean code="org.apache.activemq.service.HornetQFileConfigurationService" - name="org.apache.activemq:service=HornetQFileConfigurationService"> + <mbean code="org.apache.activemq.service.ActiveMQFileConfigurationService" + name="org.apache.activemq:service=ActiveMQFileConfigurationService"> </mbean> <mbean code="org.apache.activemq.service.JBossASSecurityManagerService" name="org.apache.activemq:service=JBossASSecurityManagerService"> </mbean> - <mbean code="org.apache.activemq.service.HornetQStarterService" - name="org.apache.activemq:service=HornetQStarterService"> + <mbean code="org.apache.activemq.service.ActiveMQStarterService" + name="org.apache.activemq:service=ActiveMQStarterService"> <!--let's let the JMS Server start us--> <attribute name="Start">false</attribute> <depends optional-attribute-name="SecurityManagerService" proxy-type="attribute">org.apache.activemq:service=JBossASSecurityManagerService</depends> <depends optional-attribute-name="ConfigurationService" - proxy-type="attribute">org.apache.activemq:service=HornetQFileConfigurationService</depends> + proxy-type="attribute">org.apache.activemq:service=ActiveMQFileConfigurationService</depends> </mbean> - <mbean code="org.apache.activemq.service.HornetQJMSStarterService" - name="org.apache.activemq:service=HornetQJMSStarterService"> - <depends optional-attribute-name="HornetQServer" - proxy-type="attribute">org.apache.activemq:service=HornetQStarterService</depends> + <mbean code="org.apache.activemq.service.ActiveMQJMSStarterService" + name="org.apache.activemq:service=ActiveMQJMSStarterService"> + <depends optional-attribute-name="ActiveMQServer" + proxy-type="attribute">org.apache.activemq:service=ActiveMQStarterService</depends> </mbean> </server> - 这个jboss-service.xml包含在hornetq-service.sar文件中,它用来配置AS4中嵌入运行的HornetQ。 + 这个jboss-service.xml包含在hornetq-service.sar文件中,它用来配置AS4中嵌入运行的ActiveMQ。 在这个配置文件中我们启动了以下几个服务: - HornetQFileConfigurationService + ActiveMQFileConfigurationService 这个MBean服务的任务是管理 FileConfiguration POJO的生命周期。 @@ -287,12 +287,12 @@ 这个MBean服务管理着 JBossASSecurityManager POJO的生命周期。 - HornetQStarterService - 这个MBean服务管理着HornetQServer POJO。它依赖于 JBossASSecurityManagerService 和 - HornetQFileConfigurationService 这两个MBean。 + ActiveMQStarterService + 这个MBean服务管理着ActiveMQServer POJO。它依赖于 JBossASSecurityManagerService 和 + ActiveMQFileConfigurationService 这两个MBean。 - HornetQJMSStarterService + ActiveMQJMSStarterService 这个MBean服务管理着 JMSServerManagerImpl POJO对象。如果不需要JMS,可以去掉这个服务。 @@ -303,9 +303,9 @@
主配置文件 - HornetQ 核心服务的配置保存在 activemq-configuration.xml文件中。 + ActiveMQ 核心服务的配置保存在 activemq-configuration.xml文件中。          FileConfiguration bean 读取这个文件来对消息服务器进行配置。 - HornetQ有很多的配置参数。采用默认的配置在绝大多数情况下可以很好的运行。事实上每一个参数都有默认的处理,因此一个只包含有一个空 + ActiveMQ有很多的配置参数。采用默认的配置在绝大多数情况下可以很好的运行。事实上每一个参数都有默认的处理,因此一个只包含有一个空 的configuration的配置文件是一个有效的文件。对各个参数的解释贯穿于本手册。你还可参参照 这里来查找你想看的参数。
diff --git a/docs/user-manual/zh/wildcard-routing.xml b/docs/user-manual/zh/wildcard-routing.xml index 4e3b4be5e6..91868fe0e7 100644 --- a/docs/user-manual/zh/wildcard-routing.xml +++ b/docs/user-manual/zh/wildcard-routing.xml @@ -20,7 +20,7 @@ 使用通配符实现消息路由 - HornetQ支持使用带通配符的地址对消息路由。 + ActiveMQ支持使用带通配符的地址对消息路由。 例如,当创建一个队列时使用了地址queue.news.#,那么它就能接收 所有和这个地址通配符相配的每一个地址的消息。这样的地址如 queue.news.europequeue.news.usa - 了解 HornetQ 通配符的语法 - HornetQ使用了一种专门的通配符语法来配置安全、地址及接收者(consumer)的创建。 + 了解 ActiveMQ 通配符的语法 + ActiveMQ使用了一种专门的通配符语法来配置安全、地址及接收者(consumer)的创建。 这种语法与 AMQP所用的语法相似。 - 一个HornetQ的通配符表达式是由一些由“一个ActiveMQ的通配符表达式是由一些由“.”分隔的单词组成。 特殊字符“#”和“*”在表达式中可作为一个单词,它们代表 特殊的意义。 diff --git a/etc/IDEA-style.jar b/etc/IDEA-style.jar index 06e3baaa61..037a88661b 100644 Binary files a/etc/IDEA-style.jar and b/etc/IDEA-style.jar differ diff --git a/etc/findbugs-exclude.xml b/etc/findbugs-exclude.xml index 6170bedc4f..fb559ef1cf 100644 --- a/etc/findbugs-exclude.xml +++ b/etc/findbugs-exclude.xml @@ -37,7 +37,7 @@ - + @@ -115,7 +115,7 @@ - + @@ -130,7 +130,7 @@ - + diff --git a/etc/org.eclipse.jdt.ui.prefs b/etc/org.eclipse.jdt.ui.prefs index f68cb8d1c5..4b2bd25680 100644 --- a/etc/org.eclipse.jdt.ui.prefs +++ b/etc/org.eclipse.jdt.ui.prefs @@ -49,11 +49,11 @@ cleanup.use_this_for_non_static_field_access=true cleanup.use_this_for_non_static_field_access_only_if_necessary=true cleanup.use_this_for_non_static_method_access=true cleanup.use_this_for_non_static_method_access_only_if_necessary=true -cleanup_profile=_HornetQ profile +cleanup_profile=_ActiveMQ profile cleanup_settings_version=2 eclipse.preferences.version=1 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_'HornetQ' +formatter_profile=_'ActiveMQ' formatter_settings_version=12 org.eclipse.jdt.ui.exception.name=e org.eclipse.jdt.ui.gettersetter.use.is=true diff --git a/examples/core/embedded-remote/readme.html b/examples/core/embedded-remote/readme.html index ad25345eef..5dc0bdbede 100644 --- a/examples/core/embedded-remote/readme.html +++ b/examples/core/embedded-remote/readme.html @@ -1,21 +1,21 @@ - HornetQ Embedded Example + ActiveMQ Embedded Example

Embedded Example

-

This example shows how to setup and run HornetQ embedded with remote clients connecting.

-

HornetQ was designed to use POJOs (Plain Old Java Objects), what makes embedding HornetQ as simple as instantiating a few objects.

+

This example shows how to setup and run ActiveMQ embedded with remote clients connecting.

+

ActiveMQ was designed to use POJOs (Plain Old Java Objects), what makes embedding ActiveMQ as simple as instantiating a few objects.

-

HornetQ Embedded could be used from very simple use cases with only InVM support to very complex cases with clustering, persistence and fail over.

+

ActiveMQ Embedded could be used from very simple use cases with only InVM support to very complex cases with clustering, persistence and fail over.

Example step-by-step

To run the example, simply type mvn -Pserver from this directory to start the server and mvn -Pclient to run the client example

-

In this we don't use any configuration files. (Everything is embedded). We simply instantiate ConfigurationImpl, HornetQServer, start it and operate on JMS regularly

+

In this we don't use any configuration files. (Everything is embedded). We simply instantiate ConfigurationImpl, ActiveMQServer, start it and operate on JMS regularly


  1. On EmbeddedServer: Create the Configuration, and set the properties accordingly
  2. @@ -27,13 +27,13 @@
  3. On EmbeddedServer: Create and start the server
  4. -           HornetQServer server = HornetQ.newHornetQServer(configuration);
    +           ActiveMQServer server = ActiveMQ.newActiveMQServer(configuration);
                server.start();
             
  5. As we are not using a JNDI environment we instantiate the objects directly
  6. -           ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
    +           ServerLocator serverLocator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
                ClientSessionFactory sf = serverLocator.createSessionFactory();
             
    diff --git a/examples/core/embedded/readme.html b/examples/core/embedded/readme.html index ac41734bc0..d003ffbcfe 100644 --- a/examples/core/embedded/readme.html +++ b/examples/core/embedded/readme.html @@ -1,6 +1,6 @@ - HornetQ Embedded Example + ActiveMQ Embedded Example @@ -8,19 +8,19 @@

    Embedded Example

    -

    This example shows how to setup and run HornetQ embedded.

    -

    HornetQ was designed to use POJOs (Plain Old Java Objects), what makes embedding HornetQ as simple as instantiating a few objects.

    +

    This example shows how to setup and run ActiveMQ embedded.

    +

    ActiveMQ was designed to use POJOs (Plain Old Java Objects), what makes embedding ActiveMQ as simple as instantiating a few objects.

    In this example, we are using two jars:

    • hornetq-server.jar
    • netty.jar
    -

    HornetQ Embedded could be used from very simple use cases with only InVM support to very complex cases with clustering, persistence and fail over.

    +

    ActiveMQ Embedded could be used from very simple use cases with only InVM support to very complex cases with clustering, persistence and fail over.

    Example step-by-step

    To run the example, simply type mvn -Pexample from this directory

    -

    In this we don't use any configuration files. (Everything is embedded). We simply instantiate ConfigurationImpl, HornetQServer, start it and operate on JMS regularly

    +

    In this we don't use any configuration files. (Everything is embedded). We simply instantiate ConfigurationImpl, ActiveMQServer, start it and operate on JMS regularly

    1. Create the Configuration, and set the properties accordingly
    2. @@ -33,13 +33,13 @@
    3. Create and start the server
    4. -           HornetQServer server = HornetQ.newHornetQServer(configuration);
      +           ActiveMQServer server = ActiveMQ.newActiveMQServer(configuration);
                  server.start();
               
    5. As we are not using a JNDI environment we instantiate the objects directly
    6. -           ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.class.getName()));
      +           ServerLocator serverLocator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(InVMConnectorFactory.class.getName()));
                  ClientSessionFactory sf = serverLocator.createSessionFactory();
               
      diff --git a/examples/core/twitter-connector/readme.html b/examples/core/twitter-connector/readme.html index 936c411d5c..bfd8c3f53f 100644 --- a/examples/core/twitter-connector/readme.html +++ b/examples/core/twitter-connector/readme.html @@ -1,6 +1,6 @@ - HornetQ Twitter Connector Service Example + ActiveMQ Twitter Connector Service Example @@ -8,9 +8,9 @@

      Twitter Connector Service Example

      -

      This example shows you how to configure HornetQ to use the Twitter Connector Service.

      +

      This example shows you how to configure ActiveMQ to use the Twitter Connector Service.

      -

      HornetQ supports 2 types of Twitter connector, incoming and outgoing. +

      ActiveMQ supports 2 types of Twitter connector, incoming and outgoing. Incoming connector consumes from twitter and forwards to a configurable address. Outgoing connector consumes from a configurable address and forwards to twitter.

      @@ -28,7 +28,7 @@
      1. First we need to create a ClientSessionFactory with Netty transport configuration
      2. -           csf = HornetQClient.createClientSessionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
        +           csf = ActiveMQClient.createClientSessionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
                 
      3. We create a core session with auto-commit mode
      4. diff --git a/examples/core/vertx-connector/readme.html b/examples/core/vertx-connector/readme.html index ed37cfc332..e8e61fae05 100644 --- a/examples/core/vertx-connector/readme.html +++ b/examples/core/vertx-connector/readme.html @@ -1,6 +1,6 @@ - HornetQ Vert.x Connector Service Example + ActiveMQ Vert.x Connector Service Example @@ -8,9 +8,9 @@

        Vert.x Connector Service Example

        -

        This example shows you how to configure HornetQ to use the Vert.x Connector Service.

        +

        This example shows you how to configure ActiveMQ to use the Vert.x Connector Service.

        -

        HornetQ supports 2 types of Vert.x connector, incoming and outgoing. +

        ActiveMQ supports 2 types of Vert.x connector, incoming and outgoing. Incoming connector consumes from Vert.x event bus and forwards to a configurable address. Outgoing connector consumes from a configurable address and forwards to a configurable Vert.x event bus.

        @@ -18,8 +18,8 @@

        In this example, an incoming connector and an outgoing connector are configured. A simple java Verticle is deployed. The verticle registers a message handler on the outgoing connector's address ("outgoing.vertx.address"). A String message is sent to Vert.x event bus on the incoming connector's address("incoming.vertx.address"). - The message then will be forwarded to a HornetQ queue by the incoming connector. The outgoing connector listens to - the HornetQ queue and forwards the message from HornetQ to Vert.x event bus on the outgoing connector's address. + The message then will be forwarded to a ActiveMQ queue by the incoming connector. The outgoing connector listens to + the ActiveMQ queue and forwards the message from ActiveMQ to Vert.x event bus on the outgoing connector's address. The verticle finally receives the message from it's event bus.

        For more information on Vert.x concept please visit the Vertx site

        diff --git a/examples/javaee/ejb-jms-transaction/readme.html b/examples/javaee/ejb-jms-transaction/readme.html index 57ce0e85ad..7c950ce9a6 100644 --- a/examples/javaee/ejb-jms-transaction/readme.html +++ b/examples/javaee/ejb-jms-transaction/readme.html @@ -1,6 +1,6 @@ - HornetQ EJB/JMS Transaction Example + ActiveMQ EJB/JMS Transaction Example diff --git a/examples/javaee/jca-config/readme.html b/examples/javaee/jca-config/readme.html index ac73706cac..23be575850 100644 --- a/examples/javaee/jca-config/readme.html +++ b/examples/javaee/jca-config/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE JCA Configuration Example + ActiveMQ Java EE JCA Configuration Example @@ -8,7 +8,7 @@

        Java EE Resource Adapter Configuration Example

        -

        This example demonstrates how to configure several properties on the HornetQ Resource Adapter. We setup two +

        This example demonstrates how to configure several properties on the ActiveMQ Resource Adapter. We setup two WildFly. The enterprise application is being deployed in one application server while the MDBs and JMS Connections are pointing to a remote server

        This example is composed of two message-driven beans (MDB), MDBQueueA and MDBQueueB, and a stateless session @@ -48,8 +48,8 @@

      5. On the second server we invoke the EJB StatelessSender: This will send 2 messages to server 1 using the configured outbound adapter
      6. -            Queue destQueueA = HornetQJMSClient.createQueue("A");
        -            Queue destQueueB = HornetQJMSClient.createQueue("B");
        +            Queue destQueueA = ActiveMQJMSClient.createQueue("A");
        +            Queue destQueueB = ActiveMQJMSClient.createQueue("B");
                  
      7. Create a connection to a remote server using a connection-factory we injected. JCA will actually manage this through a connection pool
      8. diff --git a/examples/javaee/jca-remote/readme.html b/examples/javaee/jca-remote/readme.html index 80518a6859..54f7e0efa5 100644 --- a/examples/javaee/jca-remote/readme.html +++ b/examples/javaee/jca-remote/readme.html @@ -1,13 +1,13 @@ - HornetQ Java EE JCA Remote Server Configuration Example + ActiveMQ Java EE JCA Remote Server Configuration Example

        Java EE JCA Resource Adapter Remote Server Configuration Example

        -

        This example demonstrates how to configure the Resource adapter to connect to a remote HornetQ server

        +

        This example demonstrates how to configure the Resource adapter to connect to a remote ActiveMQ server

        This example is composed of a message driven bean and a client

        MDBRemoteServerClientExample will send a message to the MDB via a queue and wait for the MDB to send a response via a reply queue

        @@ -42,7 +42,7 @@

        Configuring the outgoing JCA resource adapter

        -

        The same pooled-connection-factory used for JCA inflow also configures an outgoing JCA connection factory which Java EE components can use to send messages to the same remote HornetQ Server.

        +

        The same pooled-connection-factory used for JCA inflow also configures an outgoing JCA connection factory which Java EE components can use to send messages to the same remote ActiveMQ Server.

                             <pooled-connection-factory name="hornetq-ra-remote">
                                 <transaction mode="xa"/>
        @@ -106,7 +106,7 @@
                  
      9. The MDB looks up the reply queue
      10. -            Queue destQueue = HornetQJMSClient.createQueue("mdbReplyQueue");
        +            Queue destQueue = ActiveMQJMSClient.createQueue("mdbReplyQueue");
                  
      11. The MDB creates a connection
      12. diff --git a/examples/javaee/jms-bridge/readme.html b/examples/javaee/jms-bridge/readme.html
        index bf64790e20..a5c0b7b072 100644
        --- a/examples/javaee/jms-bridge/readme.html
        +++ b/examples/javaee/jms-bridge/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS Bridge Example
        +    ActiveMQ JMS Bridge Example
             
             
             
        @@ -11,7 +11,7 @@
              

        This example shows how to configure and run a JMS Bridge in WildFly.
        A bridge receives messages from a source JMS destination and forwards them to a target destination.

        The source and target destinations can be on different servers, even from different JMS providers. For example, you can use this - JMS Bridge to bridge a legacy JMS provider to HornetQ during migration.

        + JMS Bridge to bridge a legacy JMS provider to ActiveMQ during migration.

        This example will show how to configure and run the simplest bridge:

          diff --git a/examples/javaee/jms-context-injection/readme.html b/examples/javaee/jms-context-injection/readme.html index 5eaa6da98c..557257d0d2 100644 --- a/examples/javaee/jms-context-injection/readme.html +++ b/examples/javaee/jms-context-injection/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE Injected JMSContext Example + ActiveMQ Java EE Injected JMSContext Example diff --git a/examples/javaee/mdb-bmt/readme.html b/examples/javaee/mdb-bmt/readme.html index 84cd13033b..bfc0c10604 100644 --- a/examples/javaee/mdb-bmt/readme.html +++ b/examples/javaee/mdb-bmt/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Bean Managed Transaction Example + ActiveMQ Java EE MDB Bean Managed Transaction Example diff --git a/examples/javaee/mdb-cmt-setrollbackonly-with-dlq/readme.html b/examples/javaee/mdb-cmt-setrollbackonly-with-dlq/readme.html index 0fde090083..0853c0c853 100644 --- a/examples/javaee/mdb-cmt-setrollbackonly-with-dlq/readme.html +++ b/examples/javaee/mdb-cmt-setrollbackonly-with-dlq/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB SetRollbackOnly Example + ActiveMQ Java EE MDB SetRollbackOnly Example diff --git a/examples/javaee/mdb-cmt-setrollbackonly/readme.html b/examples/javaee/mdb-cmt-setrollbackonly/readme.html index 6b37736ceb..fce48e478d 100644 --- a/examples/javaee/mdb-cmt-setrollbackonly/readme.html +++ b/examples/javaee/mdb-cmt-setrollbackonly/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB SetRollbackOnly Example + ActiveMQ Java EE MDB SetRollbackOnly Example diff --git a/examples/javaee/mdb-cmt-tx-local/readme.html b/examples/javaee/mdb-cmt-tx-local/readme.html index 350864d6c5..57b185a5e7 100644 --- a/examples/javaee/mdb-cmt-tx-local/readme.html +++ b/examples/javaee/mdb-cmt-tx-local/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB using a local transaction Example + ActiveMQ Java EE MDB using a local transaction Example diff --git a/examples/javaee/mdb-cmt-tx-not-supported/readme.html b/examples/javaee/mdb-cmt-tx-not-supported/readme.html index fe43ff2c3a..e125d2669d 100644 --- a/examples/javaee/mdb-cmt-tx-not-supported/readme.html +++ b/examples/javaee/mdb-cmt-tx-not-supported/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Container Managed Transaction with NOT_SUPPORTED transaction Example + ActiveMQ Java EE MDB Container Managed Transaction with NOT_SUPPORTED transaction Example diff --git a/examples/javaee/mdb-cmt-tx-required/readme.html b/examples/javaee/mdb-cmt-tx-required/readme.html index 8ecd05fa7a..469b03cc4a 100644 --- a/examples/javaee/mdb-cmt-tx-required/readme.html +++ b/examples/javaee/mdb-cmt-tx-required/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Container Managed Transactions Example + ActiveMQ Java EE MDB Container Managed Transactions Example diff --git a/examples/javaee/mdb-message-selector/readme.html b/examples/javaee/mdb-message-selector/readme.html index e5f02d5296..19aa38f647 100644 --- a/examples/javaee/mdb-message-selector/readme.html +++ b/examples/javaee/mdb-message-selector/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Message Selector Example + ActiveMQ Java EE MDB Message Selector Example diff --git a/examples/javaee/mdb-remote-failover-static/readme.html b/examples/javaee/mdb-remote-failover-static/readme.html index cff2f46aab..6bbb8a6c5f 100644 --- a/examples/javaee/mdb-remote-failover-static/readme.html +++ b/examples/javaee/mdb-remote-failover-static/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Message Selector Example + ActiveMQ Java EE MDB Message Selector Example diff --git a/examples/javaee/mdb-remote-failover/readme.html b/examples/javaee/mdb-remote-failover/readme.html index 836b8eb9d6..6701669375 100644 --- a/examples/javaee/mdb-remote-failover/readme.html +++ b/examples/javaee/mdb-remote-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Message Selector Example + ActiveMQ Java EE MDB Message Selector Example diff --git a/examples/javaee/mdb-tx-send/readme.html b/examples/javaee/mdb-tx-send/readme.html index ef72d1756f..b9ae5c9fc2 100644 --- a/examples/javaee/mdb-tx-send/readme.html +++ b/examples/javaee/mdb-tx-send/readme.html @@ -1,6 +1,6 @@ - HornetQ Java EE MDB Send Example + ActiveMQ Java EE MDB Send Example diff --git a/examples/javaee/xarecovery/readme.html b/examples/javaee/xarecovery/readme.html index 01f10ecdd7..b618ecc4b4 100644 --- a/examples/javaee/xarecovery/readme.html +++ b/examples/javaee/xarecovery/readme.html @@ -1,6 +1,6 @@ - HornetQ XA Recovery Example + ActiveMQ XA Recovery Example @@ -8,7 +8,7 @@

          Java EE XA Recovery Example

          -

          This example will demonstrate XA recovery in WildFly with a HornetQ XA resource and a "buggy" XA resource.

          +

          This example will demonstrate XA recovery in WildFly with a ActiveMQ XA resource and a "buggy" XA resource.

          The example application will invoke an EJB which will send a JMS message in a transaction. The server will crash while the transaction has not been committed (it is in the prepared state).
          @@ -195,7 +195,7 @@

          When the transaction is committed, it will prepare both XAResources and then commit them.

          The failing resources will crash the server leaving the JMS XA Resource prepared but not committed

          -

          When WildFly is restarted, it will automatically trigger a recovery phase. During that phase, HornetQ resources will be +

          When WildFly is restarted, it will automatically trigger a recovery phase. During that phase, ActiveMQ resources will be scanned and the prepared transaction will be recovered and committed. It is then possible to consume this message

          \ No newline at end of file diff --git a/examples/jms/README.md b/examples/jms/README.md index f95a3dbf87..9c9e0fb147 100644 --- a/examples/jms/README.md +++ b/examples/jms/README.md @@ -1,4 +1,4 @@ -Running the HornetQ Examples +Running the ActiveMQ Examples ============================ To run an individual example firstly cd into the example directory and run diff --git a/examples/jms/activemq-jms-examples-common/config/logging.properties b/examples/jms/activemq-jms-examples-common/config/logging.properties index 890ffa686d..754d13869d 100644 --- a/examples/jms/activemq-jms-examples-common/config/logging.properties +++ b/examples/jms/activemq-jms-examples-common/config/logging.properties @@ -17,9 +17,9 @@ # show messages at the INFO and above levels. handlers=java.util.logging.ConsoleHandler #handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler -java.util.logging.ConsoleHandler.formatter=org.apache.activemq6.integration.logging.HornetQLoggerFormatter +java.util.logging.ConsoleHandler.formatter=org.apache.activemq6.integration.logging.ActiveMQLoggerFormatter java.util.logging.FileHandler.level=INFO -java.util.logging.FileHandler.formatter=org.apache.activemq6.integration.logging.HornetQLoggerFormatter +java.util.logging.FileHandler.formatter=org.apache.activemq6.integration.logging.ActiveMQLoggerFormatter java.util.logging.FileHandler.pattern=logs/hornetq.log # Default global logging level. # This specifies which kinds of events are logged across diff --git a/examples/jms/activemq-ra-rar/src/main/resources/ra.xml b/examples/jms/activemq-ra-rar/src/main/resources/ra.xml index e7bbc6330f..67e1d2b7aa 100644 --- a/examples/jms/activemq-ra-rar/src/main/resources/ra.xml +++ b/examples/jms/activemq-ra-rar/src/main/resources/ra.xml @@ -8,8 +8,8 @@ http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd" version="1.5"> - HornetQ 2.0 Resource Adapter - HornetQ 2.0 Resource Adapter + ActiveMQ 2.0 Resource Adapter + ActiveMQ 2.0 Resource Adapter Red Hat Middleware LLC JMS 1.1 Server @@ -32,7 +32,7 @@ Copyright 2009 Red Hat, Inc. - org.apache.activemq6.ra.HornetQResourceAdapter + org.apache.activemq6.ra.ActiveMQResourceAdapter The transport type. Multiple connectors can be configured by using a comma separated list, @@ -258,7 +258,7 @@ Copyright 2009 Red Hat, Inc. - org.apache.activemq6.ra.HornetQRAManagedConnectionFactory + org.apache.activemq6.ra.ActiveMQRAManagedConnectionFactory The default session type @@ -273,10 +273,10 @@ Copyright 2009 Red Hat, Inc. 0 - org.apache.activemq6.ra.HornetQRAConnectionFactory - org.apache.activemq6.ra.HornetQRAConnectionFactoryImpl + org.apache.activemq6.ra.ActiveMQRAConnectionFactory + org.apache.activemq6.ra.ActiveMQRAConnectionFactoryImpl javax.jms.Session - org.apache.activemq6.ra.HornetQRASession + org.apache.activemq6.ra.ActiveMQRASession XATransaction @@ -291,7 +291,7 @@ Copyright 2009 Red Hat, Inc. javax.jms.MessageListener - org.apache.activemq6.ra.inflow.HornetQActivationSpec + org.apache.activemq6.ra.inflow.ActiveMQActivationSpec destination diff --git a/examples/jms/aerogear/readme.html b/examples/jms/aerogear/readme.html index 80b0b0632a..d29075dbe0 100644 --- a/examples/jms/aerogear/readme.html +++ b/examples/jms/aerogear/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS AeroGear Example + ActiveMQ JMS AeroGear Example @@ -26,7 +26,7 @@

          Now before we run the example we need a mobile application to receive it. Writing a mobile app is beyond the scope of this example but for testing purposes we have supplied an Android app you can use, simply install on your android phone. - It can be found here. For a more in depth mobile + It can be found here. For a more in depth mobile app example visit the AeroGear site.

          Once you have installed the mobile app you will need to configure the following:

          @@ -45,7 +45,7 @@ 'mvn -Dendpoint=my aerogear url -Dapplicationid=my application id -Dmastersecret=my master secret -Djsse.enableSNIExtension=false clean verify'. If you arent using java 7 you can omit the 'jsse.enableSNIExtension=false'

          -

          You should see something like this in your HornetQServer

          +

          You should see something like this in your ActiveMQServer

                        
            @@ -58,7 +58,7 @@
                        
                     
          -

          And on your mobile app you should see a message from HornetQ

          +

          And on your mobile app you should see a message from ActiveMQ

          Now lets look a bit more closely at the configuration in hornetq-configuration.xml

            @@ -122,7 +122,7 @@ // Step 7. Create a Text Message Message message = session.createMessage(); - message.setStringProperty("AEROGEAR_ALERT", "Hello this is a notification from HornetQ"); + message.setStringProperty("AEROGEAR_ALERT", "Hello this is a notification from ActiveMQ"); producer.send(message); diff --git a/examples/jms/applet/applet.html b/examples/jms/applet/applet.html index 4edd86ef9a..cb24c3de69 100644 --- a/examples/jms/applet/applet.html +++ b/examples/jms/applet/applet.html @@ -1,11 +1,11 @@ - HornetQ Applet Example + ActiveMQ Applet Example -

            HornetQ Applet Example

            +

            ActiveMQ Applet Example

            -

            The Applet will connect to HornetQ server running on localhost and +

            The Applet will connect to ActiveMQ server running on localhost and publishes messages on a topic exampleTopic when "Send" is pressed.

            The Applet is also a MessageListener and will display messages received from the topic

            diff --git a/examples/jms/applet/readme.html b/examples/jms/applet/readme.html index e954316b3a..c124f3c3f9 100644 --- a/examples/jms/applet/readme.html +++ b/examples/jms/applet/readme.html @@ -1,6 +1,6 @@ - HornetQ Applet Example + ActiveMQ Applet Example @@ -12,7 +12,7 @@

            Example step-by-step

            To run the example, simply type mvn verify from this directory to start - the HornetQ server and an HTTP server.

            + the ActiveMQ server and an HTTP server.

            Then, go to http://127.0.0.1:8088/applet.html to load and use the applet.

            diff --git a/examples/jms/application-layer-failover/readme.html b/examples/jms/application-layer-failover/readme.html index 8fa4b32e6b..9dd8b6d808 100644 --- a/examples/jms/application-layer-failover/readme.html +++ b/examples/jms/application-layer-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ Application-Layer Failover Example + ActiveMQ Application-Layer Failover Example @@ -8,18 +8,18 @@

            Application-Layer Failover Example

            -

            HornetQ implements fully transparent automatic failover of connections from a live node to a backup node which requires +

            ActiveMQ implements fully transparent automatic failover of connections from a live node to a backup node which requires no special coding. This is described in a different example and requires server replication.

            -

            However, HornetQ also supports Application-Layer failover which is useful in the case where replication is not enabled.

            -

            With Application-Layer failover, it's up to the application to register a JMS ExceptionListener with HornetQ. - This listener will then be called by HornetQ in the event that connection failure is detected.

            +

            However, ActiveMQ also supports Application-Layer failover which is useful in the case where replication is not enabled.

            +

            With Application-Layer failover, it's up to the application to register a JMS ExceptionListener with ActiveMQ. + This listener will then be called by ActiveMQ in the event that connection failure is detected.

            User code in the ExceptionListener can then recreate any JMS Connection, Session, etc on another node and the application can continue.

            Application-Layer failover is an alternative approach to High Availabilty (HA).

            Application-Layer failover differs from automatic failover in that some client side coding is required in order to implement this. Also, with Application-Layer failover, since the old Session object dies and a new is created, any uncommitted work in the old Session will be lost, and any unacknowledged messages might be redelivered.

            -

            For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

            For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

            Example step-by-step

            diff --git a/examples/jms/bridge/readme.html b/examples/jms/bridge/readme.html index 49cbd77a5f..7b3acdd26a 100644 --- a/examples/jms/bridge/readme.html +++ b/examples/jms/bridge/readme.html @@ -1,6 +1,6 @@ - HornetQ Core Bridge Example + ActiveMQ Core Bridge Example @@ -11,7 +11,7 @@

            This example demonstrates a core bridge deployed on one server, which consumes messages from a local queue and forwards them to an address on a second server.

            -

            Core bridges are used to create message flows between any two HornetQ servers which are remotely separated. +

            Core bridges are used to create message flows between any two ActiveMQ servers which are remotely separated. Core bridges are resilient and will cope with temporary connection failure allowing them to be an ideal choice for forwarding over unreliable connections, e.g. a WAN.

            They can also be configured with an optional filter expression, and will only forward messages that @@ -19,11 +19,11 @@

            Furthermore they can be configured to use an optional Transformer class. A user-defined Transformer class can be specified which is called at forwarding time. This gives the user the opportunity to transform the message in some ways, e.g. changing its properties or body

            -

            HornetQ also includes a JMS Bridge. This is similar to a core bridge, but uses the JMS API +

            ActiveMQ also includes a JMS Bridge. This is similar to a core bridge, but uses the JMS API and can be used to bridge between any two JMS 1.1 compliant messaging systems. The core bridge is limited to bridging - between HornetQ instances, but may provide better performance than the JMS bridge. The JMS bridge is covered in + between ActiveMQ instances, but may provide better performance than the JMS bridge. The JMS bridge is covered in a separate example.

            -

            For more information on bridges, please see the HornetQ user manual.

            +

            For more information on bridges, please see the ActiveMQ user manual.

            In this example we will demonstrate a simple sausage factory for aardvarks.

            We have a JMS queue on server 0 named sausage-factory, and we have a diff --git a/examples/jms/browser/readme.html b/examples/jms/browser/readme.html index 42551aed1c..8757e2bcb7 100644 --- a/examples/jms/browser/readme.html +++ b/examples/jms/browser/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS QueueBrowser Example + ActiveMQ JMS QueueBrowser Example @@ -8,7 +8,7 @@

            JMS QueueBrowser Example

            -

            This example shows you how to use a JMS QueueBrowser with HornetQ.
            +

            This example shows you how to use a JMS QueueBrowser with ActiveMQ.
            Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.
            A QueueBrowser is used to look at messages on the queue without removing them. It can scan the entire content of a queue or only messages matching a message selector.

            diff --git a/examples/jms/client-kickoff/readme.html b/examples/jms/client-kickoff/readme.html index 3fea2cd3df..4522c23142 100644 --- a/examples/jms/client-kickoff/readme.html +++ b/examples/jms/client-kickoff/readme.html @@ -1,6 +1,6 @@ - HornetQ Client Kickoff Example + ActiveMQ Client Kickoff Example @@ -8,16 +8,16 @@

            Client Kickoff Example

            -

            This example shows how to kick off a client connected to HornetQ +

            This example shows how to kick off a client connected to ActiveMQ using JMX

            -

            The example will connect to HornetQ. Using JMX, we will list the remote addresses connected to the - server and close the corresponding connections. The client will be kicked off from HornetQ receiving +

            The example will connect to ActiveMQ. Using JMX, we will list the remote addresses connected to the + server and close the corresponding connections. The client will be kicked off from ActiveMQ receiving an exception that its JMS connection was interrupted.

            Example configuration

            -

            HornetQ exposes its managed resources by default on the platform MBeanServer.

            +

            ActiveMQ exposes its managed resources by default on the platform MBeanServer.

            To access this MBeanServer remotely, the Java Virtual machine must be started with system properties:

                          -Dcom.sun.management.jmxremote
            @@ -27,7 +27,7 @@
                     

            These properties are explained in the Java 5 Management guide (please note that for this example, we will disable user authentication for simplicity).

            -

            With these properties, HornetQ server will be manageable remotely using standard JMX URL on port 3000.

            +

            With these properties, ActiveMQ server will be manageable remotely using standard JMX URL on port 3000.

            Example step-by-step

            @@ -65,15 +65,15 @@ connection.start();
        -
      13. We create a MBean proxy to the HornetQServerControlMBean used to manage HornetQ server +
      14. We create a MBean proxy to the ActiveMQServerControlMBean used to manage ActiveMQ server (see JMX example for a complete explanation of the different steps)
      15. -            ObjectName on = ObjectNameBuilder.DEFAULT.getHornetQServerObjectName();
        +            ObjectName on = ObjectNameBuilder.DEFAULT.getActiveMQServerObjectName();
                     JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMX_URL), new HashMap());
                     MBeanServerConnection mbsc = connector.getMBeanServerConnection();
        -            HornetQServerControlMBean serverControl = (HornetQServerControlMBean)MBeanServerInvocationHandler.newProxyInstance(mbsc,
        +            ActiveMQServerControlMBean serverControl = (ActiveMQServerControlMBean)MBeanServerInvocationHandler.newProxyInstance(mbsc,
                                                                                                         on,
        -                                                                                                HornetQServerControlMBean.class,
        +                                                                                                ActiveMQServerControlMBean.class,
                                                                                                         false);
                     
                 
        diff --git a/examples/jms/client-kickoff/src/main/resources/hornetq/server0/activemq-configuration.xml b/examples/jms/client-kickoff/src/main/resources/hornetq/server0/activemq-configuration.xml index ad0ab579d6..1696017358 100644 --- a/examples/jms/client-kickoff/src/main/resources/hornetq/server0/activemq-configuration.xml +++ b/examples/jms/client-kickoff/src/main/resources/hornetq/server0/activemq-configuration.xml @@ -10,7 +10,7 @@ ${build.directory}/server0/data/messaging/paging - + true diff --git a/examples/jms/client-side-failoverlistener/readme.html b/examples/jms/client-side-failoverlistener/readme.html index b67642be67..c24b50ef4e 100644 --- a/examples/jms/client-side-failoverlistener/readme.html +++ b/examples/jms/client-side-failoverlistener/readme.html @@ -1,6 +1,6 @@ - HornetQ Client Side Failover Listener Example + ActiveMQ Client Side Failover Listener Example @@ -36,7 +36,7 @@ Thread.sleep(5000); connectionA = connectionFactory.createConnection(); - ((HornetQConnection)connectionA).setFailoverListener(new FailoverListenerImpl()); + ((ActiveMQConnection)connectionA).setFailoverListener(new FailoverListenerImpl()); diff --git a/examples/jms/client-side-load-balancing/readme.html b/examples/jms/client-side-load-balancing/readme.html index 77935461fb..cc304baa70 100644 --- a/examples/jms/client-side-load-balancing/readme.html +++ b/examples/jms/client-side-load-balancing/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Client-Side Load-Balancing Example + ActiveMQ JMS Client-Side Load-Balancing Example @@ -9,12 +9,12 @@

        JMS Client-Side Load-Balancing Example

        This example demonstrates how connnections created from a single JMS Connection factory can be created - to different nodes of the cluster. In other words it demonstrates how HornetQ does client side load balancing of + to different nodes of the cluster. In other words it demonstrates how ActiveMQ does client side load balancing of connections across the cluster.

        The particular load-balancing policy can be chosen to be random, round-robin or user-defined. Please see the user guide for more details of how to configure the specific load-balancing policy. In this example we will use the default round-robin load balancing policy.

        -

        The list of servers over which HornetQ will round-robin the connections can either be specified explicitly +

        The list of servers over which ActiveMQ will round-robin the connections can either be specified explicitly in the connection factory when instantiating it directly, when configuring it on the server or configured to use UDP discovery to discover the list of servers over which to round-robin. This example will use UDP discovery to obtain the list.

        @@ -22,7 +22,7 @@ can be seen in the hornetq-configuration.xml file.

        A JMS ConnectionFactory is deployed on each server specifying the discovery group that will be used by that connection factory.

        -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/clustered-durable-subscription/readme.html b/examples/jms/clustered-durable-subscription/readme.html index e83bb330e3..061f26e509 100644 --- a/examples/jms/clustered-durable-subscription/readme.html +++ b/examples/jms/clustered-durable-subscription/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Durable Subscription Example + ActiveMQ JMS Durable Subscription Example @@ -10,7 +10,7 @@

        This example demonstrates a clustered JMS durable subscription. Normally durable subscriptions exist on a single node and can only have one subscriber at any one time, - however, with HornetQ it's possible to create durable subscription instances with the same name and client-id + however, with ActiveMQ it's possible to create durable subscription instances with the same name and client-id on different nodes of the cluster, and consume from them simultaneously. This allows the work of processing messages from a durable subscription to be spread across the cluster in a similar way to how JMS Queues can be load balanced across the cluster @@ -37,7 +37,7 @@ </cluster-connection> -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/clustered-grouping/readme.html b/examples/jms/clustered-grouping/readme.html index f8ebf87a60..83a56872be 100644 --- a/examples/jms/clustered-grouping/readme.html +++ b/examples/jms/clustered-grouping/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Clustered Grouping Example + ActiveMQ JMS Clustered Grouping Example @@ -56,7 +56,7 @@
        -

        For more information on HornetQ clustering and grouping see the clustering and grouping +

        For more information on ActiveMQ clustering and grouping see the clustering and grouping section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -163,7 +163,7 @@ { TextMessage message = session0.createTextMessage("This is text message " + i); - message.setStringProperty(HornetQMessage.JMSXGROUPID, "Group-0"); + message.setStringProperty(ActiveMQMessage.JMSXGROUPID, "Group-0"); producer0.send(message); @@ -174,7 +174,7 @@ { TextMessage message = session1.createTextMessage("This is text message " + (i + 10)); - message.setStringProperty(HornetQMessage.JMSXGROUPID, "Group-0"); + message.setStringProperty(ActiveMQMessage.JMSXGROUPID, "Group-0"); producer1.send(message); @@ -186,7 +186,7 @@ { TextMessage message = session2.createTextMessage("This is text message " + (i + 20)); - message.setStringProperty(HornetQMessage.JMSXGROUPID, "Group-0"); + message.setStringProperty(ActiveMQMessage.JMSXGROUPID, "Group-0"); producer2.send(message); diff --git a/examples/jms/clustered-jgroups/readme.html b/examples/jms/clustered-jgroups/readme.html index bf1c661464..def6288e16 100644 --- a/examples/jms/clustered-jgroups/readme.html +++ b/examples/jms/clustered-jgroups/readme.html @@ -1,12 +1,12 @@ - HornetQ Clustering with JGroups Example + ActiveMQ Clustering with JGroups Example -

        HornetQ Clustering with JGroups Example

        +

        ActiveMQ Clustering with JGroups Example

        This example demonstrates the working of a two node cluster using JGroups as the underlying topology broadcasting/discovery technique.

        @@ -15,7 +15,7 @@ in a round-robin fashion.

        This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.

        -

        To enable HornetQ to use JGroups you need to configure JGroups configuration file and make sure it is on the classpath +

        To enable ActiveMQ to use JGroups you need to configure JGroups configuration file and make sure it is on the classpath by placing in the configuration directory, the file test-jgroups-file_ping.xml is the configuration used in this exaample

        You then configure the jgroups file used by the broadcast and discovery groups in the configuration along with the @@ -40,7 +40,7 @@ </discovery-groups> -

        For more information on HornetQ clustering in general, please see the clustering +

        For more information on ActiveMQ clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type ./build.sh (or build.bat on windows) from this directory

        @@ -144,8 +144,8 @@
      16. We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. - HornetQ has load balanced the messages between the available consumers on the different nodes. - HornetQ can be configured to always load balance messages to all nodes, or to only balance messages + ActiveMQ has load balanced the messages between the available consumers on the different nodes. + ActiveMQ can be configured to always load balance messages to all nodes, or to only balance messages to nodes which have consumers with no or matching selectors. See the user manual for more details.
      17. JMS Queues implement point-to-point message where each message is only ever consumed by a maximum of one consumer. diff --git a/examples/jms/clustered-queue/readme.html b/examples/jms/clustered-queue/readme.html index 9ac1c06137..e06edbc275 100644 --- a/examples/jms/clustered-queue/readme.html +++ b/examples/jms/clustered-queue/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Load Balanced Clustered Queue Example + ActiveMQ JMS Load Balanced Clustered Queue Example @@ -12,7 +12,7 @@

        We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.

        We then send some messages via the producer, and we verify that both consumers receive the sent messages in a round-robin fashion.

        -

        In other words, HornetQ load balances the sent messages across all consumers on the cluster

        +

        In other words, ActiveMQ load balances the sent messages across all consumers on the cluster

        This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.

        Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes @@ -29,7 +29,7 @@ </cluster-connection> -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -133,8 +133,8 @@
      18. We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. - HornetQ has load balanced the messages between the available consumers on the different nodes. - HornetQ can be configured to always load balance messages to all nodes, or to only balance messages + ActiveMQ has load balanced the messages between the available consumers on the different nodes. + ActiveMQ can be configured to always load balance messages to all nodes, or to only balance messages to nodes which have consumers with no or matching selectors. See the user manual for more details.
      19. JMS Queues implement point-to-point message where each message is only ever consumed by a maximum of one consumer. diff --git a/examples/jms/clustered-standalone/readme.html b/examples/jms/clustered-standalone/readme.html index 0b48a170ef..54f0d4e009 100644 --- a/examples/jms/clustered-standalone/readme.html +++ b/examples/jms/clustered-standalone/readme.html @@ -13,7 +13,7 @@

        Subscribers for the topic are created on each node, and a producer is created on only one of the nodes.

        Some messages are sent by the producer, and we verify that all subscribers receive all the sent messages.

        -

        This example uses HornetQ's default stand-alone clustered configuration. +

        This example uses ActiveMQ's default stand-alone clustered configuration. The relevant snippet from the server configuration, which tells the servers to form a cluster between the three nodes and to load balance the messages between the nodes is:

        diff --git a/examples/jms/clustered-static-discovery/readme.html b/examples/jms/clustered-static-discovery/readme.html
        index 96ef23ca14..84b535562e 100644
        --- a/examples/jms/clustered-static-discovery/readme.html
        +++ b/examples/jms/clustered-static-discovery/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS Load Balanced Static Clustered Queue Example
        +    ActiveMQ JMS Load Balanced Static Clustered Queue Example
             
             
             
        @@ -13,7 +13,7 @@
              

        We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.

        We then send some messages via the producer, and we verify that both consumers receive the sent messages in a round-robin fashion.

        -

        In other words, HornetQ load balances the sent messages across all consumers on the cluster

        +

        In other words, ActiveMQ load balances the sent messages across all consumers on the cluster

        This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.

        Here's the relevant snippet from the server configuration, which tells the server to form a cluster between the two nodes @@ -32,7 +32,7 @@ </cluster-connection>

        -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -136,8 +136,8 @@
      20. We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. - HornetQ has load balanced the messages between the available consumers on the different nodes. - HornetQ can be configured to always load balance messages to all nodes, or to only balance messages + ActiveMQ has load balanced the messages between the available consumers on the different nodes. + ActiveMQ can be configured to always load balance messages to all nodes, or to only balance messages to nodes which have consumers with no or matching selectors. See the user manual for more details.
      21. JMS Queues implement point-to-point message where each message is only ever consumed by a maximum of one consumer. diff --git a/examples/jms/clustered-static-oneway/readme.html b/examples/jms/clustered-static-oneway/readme.html index 73726212d5..432f384417 100644 --- a/examples/jms/clustered-static-oneway/readme.html +++ b/examples/jms/clustered-static-oneway/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Load Balanced Static Clustered Queue Example + ActiveMQ JMS Load Balanced Static Clustered Queue Example @@ -15,7 +15,7 @@

        We then create a consumer on the queue on each node, and we create a producer on only one of the nodes.

        We then send some messages via the producer, and we verify that all consumers receive the sent messages in a round-robin fashion.

        -

        In other words, HornetQ load balances the sent messages across all consumers on the cluster

        +

        In other words, ActiveMQ load balances the sent messages across all consumers on the cluster

        This example uses JNDI to lookup the JMS Queue and ConnectionFactory objects. If you prefer not to use JNDI, these could be instantiated directly.

        Here's the relevant snippet from the server configuration, which tells the server to form a one way cluster between the three nodes @@ -38,7 +38,7 @@ </cluster-connection> -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -166,8 +166,8 @@
      22. We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. - HornetQ has load balanced the messages between the available consumers on the different nodes. - HornetQ can be configured to always load balance messages to all nodes, or to only balance messages + ActiveMQ has load balanced the messages between the available consumers on the different nodes. + ActiveMQ can be configured to always load balance messages to all nodes, or to only balance messages to nodes which have consumers with no or matching selectors. See the user manual for more details.
      23. JMS Queues implement point-to-point message where each message is only ever consumed by a maximum of one consumer. diff --git a/examples/jms/clustered-topic/readme.html b/examples/jms/clustered-topic/readme.html index 38c652140c..34326fe8dc 100644 --- a/examples/jms/clustered-topic/readme.html +++ b/examples/jms/clustered-topic/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Clustered Topic Example + ActiveMQ JMS Clustered Topic Example @@ -29,7 +29,7 @@ </cluster-connection> -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        diff --git a/examples/jms/colocated-failover-scale-down/readme.html b/examples/jms/colocated-failover-scale-down/readme.html index a731a15fa3..3617b97c3d 100644 --- a/examples/jms/colocated-failover-scale-down/readme.html +++ b/examples/jms/colocated-failover-scale-down/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Colocated Failover Scale Down Example + ActiveMQ JMS Colocated Failover Scale Down Example diff --git a/examples/jms/colocated-failover/readme.html b/examples/jms/colocated-failover/readme.html index 64665f40d6..5400809a48 100644 --- a/examples/jms/colocated-failover/readme.html +++ b/examples/jms/colocated-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Colocated Failover Example + ActiveMQ JMS Colocated Failover Example diff --git a/examples/jms/consumer-rate-limit/readme.html b/examples/jms/consumer-rate-limit/readme.html index 3b454df1d0..e19a098f57 100644 --- a/examples/jms/consumer-rate-limit/readme.html +++ b/examples/jms/consumer-rate-limit/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Message Consumer Rate Limiting + ActiveMQ JMS Message Consumer Rate Limiting @@ -8,9 +8,9 @@

        JMS Message Consumer Rate Limiting

        -

        With HornetQ you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. +

        With ActiveMQ you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. This can be specified when creating or deploying the connection factory. See hornetq-jms.xml

        -

        If this value is specified then HornetQ will ensure that messages are never consumed at a rate higher than +

        If this value is specified then ActiveMQ will ensure that messages are never consumed at a rate higher than the specified rate. This is a form of consumer throttling.

        Example step-by-step

        In this example we specify a consumer-max-rate of 10 messages per second in the hornetq-jms.xml diff --git a/examples/jms/dead-letter/readme.html b/examples/jms/dead-letter/readme.html index 5856c58eb5..c0f9872a32 100644 --- a/examples/jms/dead-letter/readme.html +++ b/examples/jms/dead-letter/readme.html @@ -1,6 +1,6 @@ - HornetQ Dead Letter Example + ActiveMQ Dead Letter Example @@ -15,7 +15,7 @@

        To prevent this, messaging systems define dead letter messages: after a specified unsuccessful delivery attempts, the message is removed from the destination and instead routed to a dead letter address where they can be consumed for further investigation.

        - The example will show how to configure HornetQ to route a message to a dead letter address after 3 unsuccessful delivery attempts.
        + The example will show how to configure ActiveMQ to route a message to a dead letter address after 3 unsuccessful delivery attempts.
        The example will send 1 message to a queue. We will deliver the message 3 times and rollback the session every time.
        On the 4th attempt, there won't be any message to consume: it will have been moved to a dead letter address.
        We will then consume this dead letter message. @@ -30,7 +30,7 @@

        This configuration will moved dead letter messages from exampleQueue to the deadLetterQueue.

        -

        HornetQ allows to specify either a Queue by prefixing the dead-letter-address with jms.queue. +

        ActiveMQ allows to specify either a Queue by prefixing the dead-letter-address with jms.queue. or a Topic by prefixing with jms.topic..
        In this example, we will use a Queue to hold the dead letter messages.

        The maximum attempts of delivery is 3. Once this figure is reached, a message is considered a dead letter message and is moved to @@ -137,7 +137,7 @@ System.out.println("4th delivery from " + queue.getQueueName() + ": " + messageReceived); -

        We have configured HornetQ to send any dead letter messages to the deadLetterQueue. +

        We have configured ActiveMQ to send any dead letter messages to the deadLetterQueue. We will now consume messages from this queue and receives the dead letter messages.

      24. We look up the JMS dead letter queue object from JNDI
      25. @@ -163,7 +163,7 @@

        JMS does not specify the notion of dead letter destinations and messages. From JMS point of view, the message received from the dead letter queue is a different message than the message removed from the queue after the unsuccessful delivery attempts: the messages have the same content (properties and body) but their JMS headers differ.
        - HornetQ defines additional properties for messages received from a dead letter destination

        + ActiveMQ defines additional properties for messages received from a dead letter destination

      26. The message's destination is the dead letter queue
      27. diff --git a/examples/jms/delayed-redelivery/readme.html b/examples/jms/delayed-redelivery/readme.html
        index 0a2f44d4b6..d2bd1b7719 100644
        --- a/examples/jms/delayed-redelivery/readme.html
        +++ b/examples/jms/delayed-redelivery/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Delayed Redelivery Example
        +    ActiveMQ Delayed Redelivery Example
             
             
             
        @@ -8,7 +8,7 @@
           
              

        Delayed Redelivery Example

        -

        This example demonstrates how HornetQ can be configured to provide a delayed redelivery in the case +

        This example demonstrates how ActiveMQ can be configured to provide a delayed redelivery in the case where a message needs to be redelivered.

        Delaying redelivery can often be useful in the case that clients regularly fail or roll-back. Without a delayed redelivery, the system can get into a "thrashing" state, with delivery being attempted, the client rolling back, and diff --git a/examples/jms/divert/readme.html b/examples/jms/divert/readme.html index 538283f094..a60001fbec 100644 --- a/examples/jms/divert/readme.html +++ b/examples/jms/divert/readme.html @@ -1,6 +1,6 @@ - HornetQ Divert Example + ActiveMQ Divert Example @@ -8,7 +8,7 @@

        Divert Example

        -

        HornetQ diverts allow messages to be transparently "diverted" from one address to another +

        ActiveMQ diverts allow messages to be transparently "diverted" from one address to another with just some simple configuration defined on the server side.

        Diverts can be defined to be exclusive or non-exclusive.

        With an exclusive divert the message is intercepted and does not get sent to the queues originally diff --git a/examples/jms/durable-subscription/readme.html b/examples/jms/durable-subscription/readme.html index 01747346f2..a180969703 100644 --- a/examples/jms/durable-subscription/readme.html +++ b/examples/jms/durable-subscription/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Durable Subscription Example + ActiveMQ JMS Durable Subscription Example @@ -8,7 +8,7 @@

        JMS Durable Subscription Example

        -

        This example demonstrates how to use a durable subscription with HornetQ.

        +

        This example demonstrates how to use a durable subscription with ActiveMQ.

        Durable subscriptions are a standard part of JMS, please consult the JMS 1.1 specification for full details.

        Unlike non durable subscriptions, the key function of durable subscriptions is that the messages contained in them persist longer than the lifetime of the subscriber - i.e. they will accumulate messages sent to the topic even diff --git a/examples/jms/embedded-simple/readme.html b/examples/jms/embedded-simple/readme.html index 9ee98d3ea7..9963775760 100644 --- a/examples/jms/embedded-simple/readme.html +++ b/examples/jms/embedded-simple/readme.html @@ -1,6 +1,6 @@ - HornetQ Embedded JMS Server Example + ActiveMQ Embedded JMS Server Example @@ -8,15 +8,15 @@

        Embedded JMS Server Example

        -

        This examples shows how to setup and run an embedded JMS server using HornetQ along with HornetQ configuration files.

        +

        This examples shows how to setup and run an embedded JMS server using ActiveMQ along with ActiveMQ configuration files.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

          -
        1. Create HornetQ core configuration files and make sure they are within your classpath. By default, HornetQ +
        2. Create ActiveMQ core configuration files and make sure they are within your classpath. By default, ActiveMQ expects the classnames to be "hornetq-configuration.xml", "hornetq-jms.xml", and "hornetq-users.xml".
        3. -
        4. Create and start HornetQ JMS server
        5. +
        6. Create and start ActiveMQ JMS server
        7.              EmbeddedJMS jmsServer = new EmbeddedJMS();
                       jmsServer.start();
          diff --git a/examples/jms/embedded/readme.html b/examples/jms/embedded/readme.html
          index b40b827719..e49a0b0955 100644
          --- a/examples/jms/embedded/readme.html
          +++ b/examples/jms/embedded/readme.html
          @@ -1,6 +1,6 @@
           
              
          -      HornetQ Embedded JMS Server Example
          +      ActiveMQ Embedded JMS Server Example
                 
                 
                 
          @@ -8,8 +8,8 @@
              
                 

          Embedded JMS Server Example

          -

          This examples shows how to setup and run an embedded JMS server using HornetQ.

          -

          HornetQ was designed using POJOs (Plain Old Java Objects) which means embedding HornetQ in your own application +

          This examples shows how to setup and run an embedded JMS server using ActiveMQ.

          +

          ActiveMQ was designed using POJOs (Plain Old Java Objects) which means embedding ActiveMQ in your own application is as simple as instantiating a few objects.

          This example does not use any configuration files. The server is configured using POJOs and can be easily ported to any dependency injection framework.
          We will setup and run a full-fledged JMS server which binds its JMS resources to JNDI and can be accessed by remote clients.

          @@ -18,7 +18,7 @@

          To run the example, simply type mvn verify from this directory

            -
          1. Create HornetQ core configuration, and set the properties accordingly
          2. +
          3. Create ActiveMQ core configuration, and set the properties accordingly
          4.              Configuration configuration = new ConfigurationImpl();
                         configuration.setPersistenceEnabled(false);
            @@ -26,9 +26,9 @@
                         configuration.getAcceptorConfigurations().add(new TransportConfiguration(NettyAcceptorFactory.class.getName()));
                         Configuration configuration = new ConfigurationImpl();
            -
          5. Create the HornetQ core server
          6. +
          7. Create the ActiveMQ core server
          8. -            HornetQServer hornetqServer = HornetQ.newHornetQServer(configuration);
            +            ActiveMQServer hornetqServer = ActiveMQ.newActiveMQServer(configuration);
                      
          9. Create and start the JNDI server (using JBoss JNDI implementation)
          10. @@ -73,7 +73,7 @@ jmsConfig.getQueueConfigurations().add(queueConfig);
          -
        8. Start the JMS Server using the HornetQ core server and the JMS configuration
        9. +
        10. Start the JMS Server using the ActiveMQ core server and the JMS configuration
        11.              JMSServerManager jmsServer = new JMSServerManagerImpl(hornetqServer, jmsConfig);
                       jmsServer.start();
          diff --git a/examples/jms/expiry/readme.html b/examples/jms/expiry/readme.html
          index df2f2faa2b..9ed21ece4a 100644
          --- a/examples/jms/expiry/readme.html
          +++ b/examples/jms/expiry/readme.html
          @@ -1,6 +1,6 @@
           
             
          -    HornetQ Message Expiration Example
          +    ActiveMQ Message Expiration Example
               
               
               
          @@ -8,10 +8,10 @@
             
                

          JMS Expiration Example

          -

          This example shows you how to configure HornetQ so messages are expipired after a certain time..

          +

          This example shows you how to configure ActiveMQ so messages are expipired after a certain time..

          Messages can be retained in the messaging system for a limited period of time before being removed. JMS specification states that clients should not receive messages that have been expired (but it does not guarantee this will not happen).

          -

          HornetQ can assign a expiry address to a given queue so that when messages are expired, they are removed from the queue and +

          ActiveMQ can assign a expiry address to a given queue so that when messages are expired, they are removed from the queue and routed to an this address. These "expired" messages can later be consumed for further inspection.

          The example will send 1 message with a short time-to-live to a queue. We will wait for the message to expire and checks that the message @@ -27,7 +27,7 @@

          This configuration will moved expired messages from the exampleQueue to the expiryQueue

          -

          HornetQ allows to specify either a Queue by prefixing the expiry-address with jms.queue. +

          ActiveMQ allows to specify either a Queue by prefixing the expiry-address with jms.queue. or a Topic by prefixing with jms.topic..
          In this example, we will use a Queue to hold the expired messages.

          Since we want to consume messages from this expiryQueue, we also need to add a JNDI binding to perform a lookup. @@ -109,7 +109,7 @@ System.out.println("Received message from " + queue.getQueueName() + ": " + messageReceived);

        -

        However, we have configured HornetQ to send any expired messages to the expiryQueue. +

        However, we have configured ActiveMQ to send any expired messages to the expiryQueue. We will now consume messages from this expiry queue and receives the expired message.

      28. We look up the JMS expiry queue object from JNDI
      29. @@ -135,7 +135,7 @@

        JMS does not specify the notion of expiry queue. From JMS point of view, the message received from the expiry queue is a different message than the message expired from the queue: the two messages have the same content (properties and body) but their JMS headers differ.
        - HornetQ defines additional properties to correlate the message received from the expiry queue with the + ActiveMQ defines additional properties to correlate the message received from the expiry queue with the message expired from the queue

      30. The expired message's destination is the expiry queue
      31. diff --git a/examples/jms/http-transport/readme.html b/examples/jms/http-transport/readme.html index 401d16480b..d88570c5fb 100644 --- a/examples/jms/http-transport/readme.html +++ b/examples/jms/http-transport/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS HTTP Transport Example + ActiveMQ JMS HTTP Transport Example @@ -8,11 +8,11 @@

        JMS HTTP Example

        -

        This example shows you how to configure HornetQ to use the HTTP protocol as its transport layer.

        +

        This example shows you how to configure ActiveMQ to use the HTTP protocol as its transport layer.

        -

        HornetQ supports a variety of network protocols to be its underlying transport without any specific code change.

        +

        ActiveMQ supports a variety of network protocols to be its underlying transport without any specific code change.

        -

        This example is taken from the queue example without any code change. By changing the configuration file, one can get HornetQ working with HTTP transport.

        +

        This example is taken from the queue example without any code change. By changing the configuration file, one can get ActiveMQ working with HTTP transport.

        All you need to do is open the server0/hornetq-configuration.xml and enable HTTP like the following

        diff --git a/examples/jms/instantiate-connection-factory/readme.html b/examples/jms/instantiate-connection-factory/readme.html index 59f63dbda7..6bc09f38b5 100644 --- a/examples/jms/instantiate-connection-factory/readme.html +++ b/examples/jms/instantiate-connection-factory/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Instantiate Connection Factory Example + ActiveMQ JMS Instantiate Connection Factory Example @@ -11,7 +11,7 @@

        Usually, JMS Objects such as ConnectionFactories, Queue and Topic instances are looked up from JNDI before being used by the client code. This objects are called "administered objects" in JMS specification terminology.

        -

        However, in some cases a JNDI server may not be available or desired. To come to the rescue HornetQ +

        However, in some cases a JNDI server may not be available or desired. To come to the rescue ActiveMQ also supports the direct instantiation of these administered objects on the client side.

        This allows the full set of JMS functionality to be available without requiring a JNDI server!

        This example is very simple and based on the simple Queue example, however in this example we @@ -34,7 +34,7 @@ the server.

                    
        -     Queue queue = new HornetQQueue("exampleQueue");
        +     Queue queue = new ActiveMQQueue("exampleQueue");
                 
      32. Instantiate the TransportConfiguration object. The TransportConfiguration instance encapsulates @@ -55,7 +55,7 @@
      33. Directly instantiate the JMS ConnectionFactory object using that TransportConfiguration.
      34.             
        -     ConnectionFactory cf = HornetQJMSClient.createConnectionFactoryWithoutHA(transportConfiguration);
        +     ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithoutHA(transportConfiguration);
                    
                 
        diff --git a/examples/jms/interceptor/readme.html b/examples/jms/interceptor/readme.html index 4ded622db1..523ef2489c 100644 --- a/examples/jms/interceptor/readme.html +++ b/examples/jms/interceptor/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Interceptor Example + ActiveMQ JMS Interceptor Example @@ -8,9 +8,9 @@

        JMS Interceptor Example

        -

        This example shows you how to implement and configure a simple incoming, server-side interceptor with HornetQ.

        +

        This example shows you how to implement and configure a simple incoming, server-side interceptor with ActiveMQ.

        -

        HornetQ allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the +

        ActiveMQ allows an application to use an interceptor to hook into the messaging system. All that needs to do is to implement the Interceptor interface, as defined below:

              
        diff --git a/examples/jms/jaas/readme.html b/examples/jms/jaas/readme.html
        index 5f2a217281..4f9cc2918f 100644
        --- a/examples/jms/jaas/readme.html
        +++ b/examples/jms/jaas/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JAAS Example
        +    ActiveMQ JAAS Example
             
             
             
        @@ -8,11 +8,11 @@
           
              

        JAAS Example

        -

        This example shows you how to configure HornetQ to use JAAS for security.

        -

        HornetQ can leverage JAAS to delegate user authentication and authorization to existing security infrastructure.

        +

        This example shows you how to configure ActiveMQ to use JAAS for security.

        +

        ActiveMQ can leverage JAAS to delegate user authentication and authorization to existing security infrastructure.

        - The example will show how to configure HornetQ with JAAS in hornetq-beans.xml + The example will show how to configure ActiveMQ with JAAS in hornetq-beans.xml (You would use hornetq-jboss-beans.xml if you are running inside JBoss Application Server). It will use a simple LoginModule without any user interaction. @@ -24,10 +24,10 @@ the hornetq-beans.xml is being configured, the example beans file can be found under the src/main/resources directory

        Example setup

        -

        HornetQ can use a JAAS security manager by specifying it in hornetq-beans.xml:

        +

        ActiveMQ can use a JAAS security manager by specifying it in hornetq-beans.xml:

                      <!-- The security manager using JAAS -->
        -             <bean name="HornetQSecurityManager" class="org.apache.activemq.integration.jboss.security.JAASSecurityManager">
        +             <bean name="ActiveMQSecurityManager" class="org.apache.activemq.integration.jboss.security.JAASSecurityManager">
                      <property name="configurationName">org.apache.activemq.jms.example.ExampleLoginModule</property>
                      <property name="configuration">
                      <inject bean="ExampleConfiguration"/>
        @@ -68,7 +68,7 @@
              
          -
        • the HornetQSecurityManager's configurationName must be the name of the Java class implementing LoginModule
        • +
        • the ActiveMQSecurityManager's configurationName must be the name of the Java class implementing LoginModule
        • the callbackHandler property must be an implementation of CallbackHandler. In this example, the ExampleCallbackHandler does nothing since the authentication requires no user interaction
        • the configuration property must be an implementation of Configuration. For simplicity, we pass directly the diff --git a/examples/jms/jms-auto-closeable/readme.html b/examples/jms/jms-auto-closeable/readme.html index cc92549e4a..6730e7ffbc 100644 --- a/examples/jms/jms-auto-closeable/readme.html +++ b/examples/jms/jms-auto-closeable/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Auto Closable Example + ActiveMQ JMS Auto Closable Example diff --git a/examples/jms/jms-bridge/readme.html b/examples/jms/jms-bridge/readme.html index 2771435a87..13bfbbe330 100644 --- a/examples/jms/jms-bridge/readme.html +++ b/examples/jms/jms-bridge/readme.html @@ -1,20 +1,20 @@ - HornetQ JMS Bridge Example + ActiveMQ JMS Bridge Example

          JMS Bridge Example

          -

          This example shows you how to create a JMS Bridge between two HornetQ servers.

          +

          This example shows you how to create a JMS Bridge between two ActiveMQ servers.

          -

          The example will use two HornetQ servers:

          +

          The example will use two ActiveMQ servers:

          • Server #0 – the Source server. It will be configured with a JMS Topic bound to JNDI under /source/topic
          • Server #1 – the Target server. It will be configured with a JMS Queue bound to JNDI under /target/queue
          -

          Both HornetQ server will run their own JNDI server used by the JMS Bridge and the JMS Client to lookup JMS +

          Both ActiveMQ server will run their own JNDI server used by the JMS Bridge and the JMS Client to lookup JMS resources (ConnectionFactory and Destination).

          The JMS Bridge will be started in the example code and be configured to bridge messages from the source destination (the topic hosted on server #0) and the target destination (the queue hosted on server #1)

          @@ -27,7 +27,7 @@

          JMS Bridge Configuration

          The JMS Bridge is a POJO that we configure with both source and target JNDI configurations. In the actual example we are programatically creating the Bridge, however the following section - describes how you would do this if you wanted to deploy with an actual HornetQ server via the hornetq-beans.xml. + describes how you would do this if you wanted to deploy with an actual ActiveMQ server via the hornetq-beans.xml.

          Configuring the Bridge with the JBoss Microcontainer

          @@ -88,7 +88,7 @@ </bean>

        Example step-by-step

        -

        To run the example after having setup both HornetQ servers and the JMS bridge:

        +

        To run the example after having setup both ActiveMQ servers and the JMS bridge:

        1. To run the example simply run mvn verify
        diff --git a/examples/jms/jms-completion-listener/readme.html b/examples/jms/jms-completion-listener/readme.html index f3d95654c2..f78952aa3f 100644 --- a/examples/jms/jms-completion-listener/readme.html +++ b/examples/jms/jms-completion-listener/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Completion Listener Example + ActiveMQ JMS Completion Listener Example @@ -8,7 +8,7 @@

        JMS Completion Listener Example

        -

        This example shows you how to send a message asynchronously to HornetQ and use a CompletionListener to be notified of +

        This example shows you how to send a message asynchronously to ActiveMQ and use a CompletionListener to be notified of the Broker receiving it

        Example step-by-step

        @@ -47,7 +47,7 @@ @Override public void onCompletion(Message message) { - System.out.println("message acknowledged by HornetQ"); + System.out.println("message acknowledged by ActiveMQ"); latch.countDown(); } diff --git a/examples/jms/jms-context/readme.html b/examples/jms/jms-context/readme.html index e7ff2cd0be..225ba02f46 100644 --- a/examples/jms/jms-context/readme.html +++ b/examples/jms/jms-context/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Context Example + ActiveMQ JMS Context Example @@ -8,7 +8,7 @@

        JMS Context Example

        -

        This example shows you how to send and receive a message to a JMS Queue using HornetQ by using a JMS Context

        +

        This example shows you how to send and receive a message to a JMS Queue using ActiveMQ by using a JMS Context

        A JMSContext is part of JMS 2.0 and combines the JMS Connection and Session Objects into a simple Interface

        Example step-by-step

        diff --git a/examples/jms/jms-shared-consumer/readme.html b/examples/jms/jms-shared-consumer/readme.html index 373dfbf4dc..9723740c72 100644 --- a/examples/jms/jms-shared-consumer/readme.html +++ b/examples/jms/jms-shared-consumer/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Shared Consumer Example + ActiveMQ JMS Shared Consumer Example diff --git a/examples/jms/jmx/readme.html b/examples/jms/jmx/readme.html index 5fe909febf..0494c82111 100644 --- a/examples/jms/jmx/readme.html +++ b/examples/jms/jmx/readme.html @@ -1,6 +1,6 @@ - HornetQ JMX Management Example + ActiveMQ JMX Management Example @@ -8,11 +8,11 @@

        JMX Management Example

        -

        This example shows how to manage HornetQ using JMX

        +

        This example shows how to manage ActiveMQ using JMX

        Example configuration

        -

        HornetQ exposes its managed resources by default on the platform MBeanServer.

        +

        ActiveMQ exposes its managed resources by default on the platform MBeanServer.

        To access this MBeanServer remotely, the Java Virtual machine must be started with system properties:

                      -Dcom.sun.management.jmxremote
        @@ -22,7 +22,7 @@
                 

        These properties are explained in the Java 5 Management guide (please note that for this example, we will disable user authentication for simplicity sake).

        -

        With these properties, HornetQ server will be manageable remotely using standard JMX URL on port 3000.

        +

        With these properties, ActiveMQ server will be manageable remotely using standard JMX URL on port 3000.

        Example step-by-step

        diff --git a/examples/jms/jmx/src/main/resources/hornetq/server0/activemq-configuration.xml b/examples/jms/jmx/src/main/resources/hornetq/server0/activemq-configuration.xml index 05c41c1708..82acdd7673 100644 --- a/examples/jms/jmx/src/main/resources/hornetq/server0/activemq-configuration.xml +++ b/examples/jms/jmx/src/main/resources/hornetq/server0/activemq-configuration.xml @@ -11,7 +11,7 @@ ${build.directory}/server0/data/messaging/paging - + true diff --git a/examples/jms/large-message/readme.html b/examples/jms/large-message/readme.html index be71e86e34..6029e76571 100644 --- a/examples/jms/large-message/readme.html +++ b/examples/jms/large-message/readme.html @@ -1,6 +1,6 @@ - HornetQ Large Message Example + ActiveMQ Large Message Example @@ -8,19 +8,19 @@

        Large Message Example

        -

        This example shows you how to send and receive very large messages with HornetQ.

        -

        HornetQ supports the sending and receiving of huge messages, much larger than can fit in available RAM +

        This example shows you how to send and receive very large messages with ActiveMQ.

        +

        ActiveMQ supports the sending and receiving of huge messages, much larger than can fit in available RAM on the client or server. Effectively the only limit to message size is the amount of disk space you have on the server.

        -

        Large messages are persisted on the server so they can survive a server restart. In other words HornetQ doesn't just +

        Large messages are persisted on the server so they can survive a server restart. In other words ActiveMQ doesn't just do a simple socket stream from the sender to the consumer.

        -

        In order to do this HornetQ provides an extension to JMS where you can use an InputStream or OutputStream as the source and destination for your messages. You can send messages as large as it would fit in your disk.

        +

        In order to do this ActiveMQ provides an extension to JMS where you can use an InputStream or OutputStream as the source and destination for your messages. You can send messages as large as it would fit in your disk.

        You may also choose to read LargeMessages using the regular ByteStream or ByteMessage methods, but using the InputStream and OutputStream will provide you a much better performance

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        In this example we limit both the server and the client to be running in a maximum of 50MB of RAM, and we send a message with a body of size 256MB.

        -

        HornetQ can support much large message sizes but we +

        ActiveMQ can support much large message sizes but we choose these sizes and limit RAM so the example runs more quickly.

        We create a file on disk representing the message body, create a FileInputStream on that file and set that InputStream as the body of the message before sending.

        diff --git a/examples/jms/last-value-queue/readme.html b/examples/jms/last-value-queue/readme.html index 89f941e2b5..d22640082a 100644 --- a/examples/jms/last-value-queue/readme.html +++ b/examples/jms/last-value-queue/readme.html @@ -1,6 +1,6 @@ - HornetQ Last-Value Queue Example + ActiveMQ Last-Value Queue Example @@ -58,7 +58,7 @@ System.out.format("Sent message: %s\n", message.getText());
        -

        The Last-Value key is defined in HornetQ's MessageImpl class. Its value is "_HQ_LVQ_NAME"

        +

        The Last-Value key is defined in ActiveMQ's MessageImpl class. Its value is "_HQ_LVQ_NAME"

      35. We will create and send a second text message with the Last-Value property set to STOCK_NAME
      36. diff --git a/examples/jms/management-notifications/readme.html b/examples/jms/management-notifications/readme.html
        index 5b45b6b30c..13114f8405 100644
        --- a/examples/jms/management-notifications/readme.html
        +++ b/examples/jms/management-notifications/readme.html
        @@ -1,14 +1,14 @@
         
           
        -    HornetQ Management Notification Example
        +    ActiveMQ Management Notification Example
             
             
             
           
           
              

        Management Notification Example

        -

        This example shows how to receive management notifications from HornetQ using JMS Messages.

        -

        HornetQ servers emit management notifications when events of interest occur (consumers are created or closed, +

        This example shows how to receive management notifications from ActiveMQ using JMS Messages.

        +

        ActiveMQ servers emit management notifications when events of interest occur (consumers are created or closed, destinations are created or deleted, security authentication fails, etc.).
        These notifications can be received either by using JMX (see JMX example) or by receiving JMS Messages from a well-known destination.

        @@ -17,7 +17,7 @@

        Example configuration

        -

        HornetQ can configured to send JMS messages when management notifications are emitted on the server.

        +

        ActiveMQ can configured to send JMS messages when management notifications are emitted on the server.

        By default, the management name is called hornetq.notifications but this can be configured in hornetq-configuration.xml. For this example, we will set it to jms.topic.notificationsTopic to be able to receive notifications from a JMS Topic.

        @@ -165,7 +165,7 @@
                     ------------------------
                     
                 
        -

        The notification tells us that a user named not.a.valid.user failed to authenticate when creating a connection to HornetQ.

        +

        The notification tells us that a user named not.a.valid.user failed to authenticate when creating a connection to ActiveMQ.

      37. And finally, always remember to close your JMS connections and resources after use, in a finally block. Closing a JMS connection will automatically close all of its sessions, consumers, producer and browser objects
      38. diff --git a/examples/jms/management/readme.html b/examples/jms/management/readme.html index b18cb6332c..cd1b861c8a 100644 --- a/examples/jms/management/readme.html +++ b/examples/jms/management/readme.html @@ -1,18 +1,18 @@ - HornetQ Management Example + ActiveMQ Management Example

        Management Example

        -

        This example shows how to manage HornetQ using JMS Messages to invoke management operations on the server.

        -

        To manage HornetQ using JMX, see the JMX example.

        +

        This example shows how to manage ActiveMQ using JMS Messages to invoke management operations on the server.

        +

        To manage ActiveMQ using JMX, see the JMX example.

        Example configuration

        -

        HornetQ can be managed by sending JMS messages with specific properties to its management queue.

        +

        ActiveMQ can be managed by sending JMS messages with specific properties to its management queue.

        By default, the management name is called hornetq.management but this can be configured in hornetq-configuration.xml
                  <management-address>hornetq.management</management-address>
        @@ -74,7 +74,7 @@
                     
                 
      39. We create the JMS management queue. This is a special queue which is not looked up from JNDI but instantiated directly
      40. -            Queue managementQueue = new HornetQQueue("hornetq.management", "hornetq.management");
        +            Queue managementQueue = new ActiveMQQueue("hornetq.management", "hornetq.management");
                 
      41. We create a QueueRequestor to send messages to the management queue and receive replies (see queue-requestor example)
      42. @@ -92,7 +92,7 @@ Message m = session.createMessage();
        -
      43. a management message has well-defined properties that HornetQ server needs to know to perform management operations.
        +
      44. a management message has well-defined properties that ActiveMQ server needs to know to perform management operations.
        We use a helper class JMSManagementHelper to fill these properties:
        • The name of the resource to manage jms.queue.exampleQueue diff --git a/examples/jms/message-counters/readme.html b/examples/jms/message-counters/readme.html index 4badc1e35f..d2431f914d 100644 --- a/examples/jms/message-counters/readme.html +++ b/examples/jms/message-counters/readme.html @@ -1,6 +1,6 @@ - HornetQ Message Counter Example + ActiveMQ Message Counter Example @@ -22,9 +22,9 @@
      45. By default, Message counter is not enabled (for performance reason). To enable them, set message-counter-enabled to true.
        Queues are sampled every 10 seconds by default. For this example we will reduce it to 2 seconds by setting message-counter-sample-period to 2000.
        - HornetQ holds in memory the message counters' history for a maximum number of days (10 by default). We can change the number of days the history is kept by setting + ActiveMQ holds in memory the message counters' history for a maximum number of days (10 by default). We can change the number of days the history is kept by setting the message-counter-max-day-history parameter.

        -

        The sample period and the max day history parameters have an small impact on the performance of HornetQ (the resources taken to sample a queue are not available to the system's +

        The sample period and the max day history parameters have an small impact on the performance of ActiveMQ (the resources taken to sample a queue are not available to the system's normal use). You should set these parameters accordingly to the use and throughput of your messages.

        Example step-by-step

        @@ -68,7 +68,7 @@

        We now need to retrieve the message counters. They're available from the JMS Queue management resource. In this example, we will retrieve them using JMX (see the JMX example for a more complete description). You can also use JMS message to retrieve them (see the Management example to - learn about managing HornetQ using JMS messages).

        + learn about managing ActiveMQ using JMS messages).

      46. We retrieve the JMX MBean used to manage the JMS queue
      47. diff --git a/examples/jms/message-group/readme.html b/examples/jms/message-group/readme.html
        index 207a40a65e..41e8c3ec3e 100644
        --- a/examples/jms/message-group/readme.html
        +++ b/examples/jms/message-group/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Message Group Example
        +    ActiveMQ Message Group Example
             
             
             
        @@ -8,7 +8,7 @@
           
              

        Message Group Example

        -

        This example shows you how to configure and use message groups with HornetQ.

        +

        This example shows you how to configure and use message groups with ActiveMQ.

        Message groups are sets of messages that has the following characteristics:

      48. Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.
      49. @@ -20,7 +20,7 @@ where the 10 'Group-0' group messages are to be sent. You can see that with message grouping enabled, all the 10 messages will be received by the first consumer. The second consumer will receive none.

        -

        Alternatively, HornetQ's connection factories can be configured to auto group messages. By setting autogroup to true on the HornetQConnectionFactory +

        Alternatively, ActiveMQ's connection factories can be configured to auto group messages. By setting autogroup to true on the ActiveMQConnectionFactory (or setting <autogroup>true</autogroup> in hornetq-jms.xml's connection factory settings), a random unique id will be picked to create a message group. Every messages sent by a producer created from this connection factory will automatically be part of this message group.

        diff --git a/examples/jms/message-group2/readme.html b/examples/jms/message-group2/readme.html index 1f26087fae..ef25ea833e 100644 --- a/examples/jms/message-group2/readme.html +++ b/examples/jms/message-group2/readme.html @@ -1,6 +1,6 @@ - HornetQ Message Group Example + ActiveMQ Message Group Example @@ -8,7 +8,7 @@

        Message Group Example

        -

        This example shows you how to configure and use message groups via a connection factory with HornetQ.

        +

        This example shows you how to configure and use message groups via a connection factory with ActiveMQ.

        Message groups are sets of messages that has the following characteristics:

      50. Messages in a message group share the same group id, i.e. they have same JMSXGroupID string property values.
      51. @@ -18,7 +18,7 @@

        You can make any message belong to a message group by setting a 'group-id' on the connection factory. All producers created via this connection factory will set that group id on its messages. In this example we set the group id 'Group-0'on a connection factory and send messages via 2 different producers and check that only 1 consumer receives them.

        -

        Alternatively, HornetQ's connection factories can be configured to auto group messages. By setting autogroup to true on the HornetQConnectionFactory +

        Alternatively, ActiveMQ's connection factories can be configured to auto group messages. By setting autogroup to true on the ActiveMQConnectionFactory (or setting <autogroup>true</autogroup> in hornetq-jms.xml's connection factory settings), a random unique id will be picked to create a message group. Every messages sent by a producer created from this connection factory will automatically be part of this message group.

        diff --git a/examples/jms/message-priority/readme.html b/examples/jms/message-priority/readme.html index 601fec597c..c923f5861a 100644 --- a/examples/jms/message-priority/readme.html +++ b/examples/jms/message-priority/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Message Priority Example + ActiveMQ JMS Message Priority Example diff --git a/examples/jms/no-consumer-buffering/readme.html b/examples/jms/no-consumer-buffering/readme.html index fdc908ece7..8201c1c694 100644 --- a/examples/jms/no-consumer-buffering/readme.html +++ b/examples/jms/no-consumer-buffering/readme.html @@ -1,6 +1,6 @@ - HornetQ No Consumer Buffering Example + ActiveMQ No Consumer Buffering Example @@ -8,12 +8,12 @@

        No Consumer Buffering Example

        -

        By default, HornetQ consumers buffer messages from the server in a client side buffer +

        By default, ActiveMQ consumers buffer messages from the server in a client side buffer before actual delivery actually occurs.

        This improves performance since otherwise every time you called receive() or had processed the last - message in a MessageListener onMessage() method, the HornetQ client would have to go the + message in a MessageListener onMessage() method, the ActiveMQ client would have to go the server to request the next message involving a network round trip for every message reducing performance.

        -

        Therefore, by default, HornetQ pre-fetches messages into a buffer on each consumer. The total maximum size of +

        Therefore, by default, ActiveMQ pre-fetches messages into a buffer on each consumer. The total maximum size of messages in bytes that will be buffered on each consumer is determined by the consumer-window-size parameter on the connection factory.

        In some cases it is not desirable to buffer any messages on the client side consumer.

        @@ -23,7 +23,7 @@ to process orders which were already in the client side buffer of another consumer.

        To turn off client side buffering of messages, set consumer-window-size to zero.

        -

        With HornetQ you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. +

        With ActiveMQ you can specify a maximum consume rate at which a JMS MessageConsumer will consume messages. This can be specified when creating or deploying the connection factory. See hornetq-jms.xml

        Example step-by-step

        In this example we specify a consumer-window-size of 0 bytes in the hornetq-jms.xml diff --git a/examples/jms/non-transaction-failover/readme.html b/examples/jms/non-transaction-failover/readme.html index 77a55bb6ef..6c228ab1cf 100644 --- a/examples/jms/non-transaction-failover/readme.html +++ b/examples/jms/non-transaction-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Failover Without Transactions Example + ActiveMQ JMS Failover Without Transactions Example @@ -15,7 +15,7 @@ and it is possible some messages will be lost or delivered twice, depending when the failover to the backup server occurs.

        It is up to the client to deal with such cases. To ensure once and only once delivery, the client must use transacted JMS sessions (as shown in the example for failover with transactions).

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/openwire/readme.html b/examples/jms/openwire/readme.html index a7e8d72f62..b068760bdd 100644 --- a/examples/jms/openwire/readme.html +++ b/examples/jms/openwire/readme.html @@ -1,6 +1,6 @@ - HornetQ OpenWire Example + ActiveMQ OpenWire Example @@ -8,7 +8,7 @@

        JMS OpenWire Example

        -

        This example shows you how to configure HornetQ server to communicate with an ActiveMQ JMS client using ActiveMQ's native openwire protocol.

        +

        This example shows you how to configure ActiveMQ server to communicate with an ActiveMQ JMS client using ActiveMQ's native openwire protocol.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        diff --git a/examples/jms/paging/readme.html b/examples/jms/paging/readme.html index 33c4b6219d..65c6c52fb9 100644 --- a/examples/jms/paging/readme.html +++ b/examples/jms/paging/readme.html @@ -1,6 +1,6 @@ - HornetQ Paging Example + ActiveMQ Paging Example @@ -8,7 +8,7 @@

        Paging Example

        -

        This example shows how HornetQ would avoid running out of memory resources by paging messages.

        +

        This example shows how ActiveMQ would avoid running out of memory resources by paging messages.

        A maxSize can be specified per Destination via the destinations settings configuration file (hornetq-configuration.xml).

        When messages routed to an address exceed the specified maxSize the server will begin to write messages to the file system, this is called paging. This will continue to occur until messages have been delivered to consumers and subsequently @@ -114,7 +114,7 @@

        -
      52. Receive the messages. It's important to ACK for messages as HornetQ will not read messages from paging until messages are ACKed
      53. +
      54. Receive the messages. It's important to ACK for messages as ActiveMQ will not read messages from paging until messages are ACKed
      55. 
                  for (int i = 0; i < 30000; i++)
        diff --git a/examples/jms/perf/readme.html b/examples/jms/perf/readme.html
        index 9607f5d63b..b1df0adcbd 100644
        --- a/examples/jms/perf/readme.html
        +++ b/examples/jms/perf/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS Queue Selector Example
        +    ActiveMQ JMS Queue Selector Example
             
             
             
        diff --git a/examples/jms/pre-acknowledge/readme.html b/examples/jms/pre-acknowledge/readme.html
        index d4a24172f2..94161629e9 100644
        --- a/examples/jms/pre-acknowledge/readme.html
        +++ b/examples/jms/pre-acknowledge/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS Pre-Acknowledge Example
        +    ActiveMQ JMS Pre-Acknowledge Example
             
             
             
        @@ -23,9 +23,9 @@
              

        An example of a use-case where it might be a good idea to use pre-acknowledge, is for stock price update messages. With these messages it might be ok to lose a message in event of crash, since the next price update message will arrive soon, overriding the previous price.

        -

        In order to use pre-acknowledge functionality with HornetQ the session has to be created with - a special, HornetQ specific acknowledgement mode, given by the value of - HornetQJMSConstants.PRE_ACKNOWLEDGE. +

        In order to use pre-acknowledge functionality with ActiveMQ the session has to be created with + a special, ActiveMQ specific acknowledgement mode, given by the value of + ActiveMQJMSConstants.PRE_ACKNOWLEDGE.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -51,7 +51,7 @@ connection = cf.createConnection(); - Session session = connection.createSession(false, HornetQSession.PRE_ACKNOWLEDGE); + Session session = connection.createSession(false, ActiveMQSession.PRE_ACKNOWLEDGE); MessageProducer producer = session.createProducer(queue); diff --git a/examples/jms/producer-rate-limit/readme.html b/examples/jms/producer-rate-limit/readme.html index 27be863700..5871a2e889 100644 --- a/examples/jms/producer-rate-limit/readme.html +++ b/examples/jms/producer-rate-limit/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Message Producer Rate Limiting + ActiveMQ JMS Message Producer Rate Limiting @@ -8,9 +8,9 @@

        JMS Message Producer Rate Limiting

        -

        With HornetQ you can specify a maximum send rate at which a JMS MessageProducer will send messages. +

        With ActiveMQ you can specify a maximum send rate at which a JMS MessageProducer will send messages. This can be specified when creating or deploying the connection factory. See hornetq-jms.xml

        -

        If this value is specified then HornetQ will ensure that messages are never produced at a rate higher than +

        If this value is specified then ActiveMQ will ensure that messages are never produced at a rate higher than specified. This is a form of producer throttling.

        Example step-by-step

        In this example we specify a producer-max-rate of 50 messages per second in the hornetq-jms.xml diff --git a/examples/jms/proton-cpp/readme.html b/examples/jms/proton-cpp/readme.html index d6cd84f5e8..caff310a50 100644 --- a/examples/jms/proton-cpp/readme.html +++ b/examples/jms/proton-cpp/readme.html @@ -1,6 +1,6 @@ - HornetQ QPID cpp example + ActiveMQ QPID cpp example @@ -8,7 +8,7 @@

        AMQP CPP example

        -

        HornetQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.

        +

        ActiveMQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.

        All you need to do is to connect a client into hornetq's configured port and you should be able connect.

        To run this example simply run the command mvn verify, execute the compile.sh script and start the executable called ./hello

        @@ -27,9 +27,9 @@
         
        -

        You don't need to do anything special to configure the HornetQ server to accept AMQP clients.

        -

        Just for the sake of documentation though we are setting the port of HornetQ on this example as 5672 which is the port qpid have by default.

        -

        This is totally optional and you don't need to follow this convention. You can use any port you chose including HornetQ's 5445 default port

        +

        You don't need to do anything special to configure the ActiveMQ server to accept AMQP clients.

        +

        Just for the sake of documentation though we are setting the port of ActiveMQ on this example as 5672 which is the port qpid have by default.

        +

        This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 5445 default port

              
                  <acceptor name="proton-acceptor">
        diff --git a/examples/jms/proton-j/readme.html b/examples/jms/proton-j/readme.html
        index c9302c9239..aabd71e870 100644
        --- a/examples/jms/proton-j/readme.html
        +++ b/examples/jms/proton-j/readme.html
        @@ -1,6 +1,6 @@
         
         
        -    HornetQ QPID java example
        +    ActiveMQ QPID java example
             
             
             
        @@ -8,13 +8,13 @@
         
         

        Proton qpid java example

        -<

        HornetQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.

        +<

        ActiveMQ is a multi protocol broker. It will inspect the initial handshake of clients to determine what protocol to use.

        All you need to do is to connect a client into hornetq's configured port and you should be able connect.

        To run this example simply run the command mvn verify, execute the compile.sh script and start the executable called ./hello

        -

        You don't need to do anything special to configure the HornetQ server to accept AMQP clients.

        -

        Just for the sake of documentation though we are setting the port of HornetQ on this example as 5672 which is the port qpid have by default.

        -

        This is totally optional and you don't need to follow this convention. You can use any port you chose including HornetQ's 5445 default port

        +

        You don't need to do anything special to configure the ActiveMQ server to accept AMQP clients.

        +

        Just for the sake of documentation though we are setting the port of ActiveMQ on this example as 5672 which is the port qpid have by default.

        +

        This is totally optional and you don't need to follow this convention. You can use any port you chose including ActiveMQ's 5445 default port

              
                  <acceptor name="proton-acceptor">
        diff --git a/examples/jms/proton-ruby/readme.html b/examples/jms/proton-ruby/readme.html
        index 9fc3e19993..0cd4957692 100644
        --- a/examples/jms/proton-ruby/readme.html
        +++ b/examples/jms/proton-ruby/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Proton Ruby Example
        +    ActiveMQ Proton Ruby Example
             
             
             
        @@ -8,7 +8,7 @@
           
              

        Proton Ruby Example

        -

        HornetQ can be configured to accept requests from any AMQP client that supports the 1.0 version of the protocol. +

        ActiveMQ can be configured to accept requests from any AMQP client that supports the 1.0 version of the protocol. This example shows a simply proton ruby client that sends and receives messages

        To run the example you will need the following packages installed, alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby

        On fedora you can install these via the yum install alsa-lib.i686 libXv.i686 libXScrnSaver.i686 qt.i686 qt-x11.i686 qtwebkit-2.2.2-2.fc18.i686, gcc, ruby @@ -16,7 +16,7 @@

        you will also need the qpid-proton libraries installed, again yum install qpid-proton

        lastly you wull have to create the gems gem install qpid_proton

        -

        To configure HornetQ to accept AMQP client connections you need to add an Acceptor like so:

        +

        To configure ActiveMQ to accept AMQP client connections you need to add an Acceptor like so:

              
              <acceptor name="proton-acceptor">
        diff --git a/examples/jms/queue-message-redistribution/readme.html b/examples/jms/queue-message-redistribution/readme.html
        index 506af4edbe..c5c91569c1 100644
        --- a/examples/jms/queue-message-redistribution/readme.html
        +++ b/examples/jms/queue-message-redistribution/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Message Redistribution Example
        +    ActiveMQ Message Redistribution Example
             
             
             
        @@ -11,10 +11,10 @@
              

        This example demonstrates message redistribution between queues with the same name deployed in different nodes of a cluster.

        As demontrated in the clustered queue example, if queues with the same name are deployed on different nodes of - a cluster, HornetQ can be configured to load balance messages between the nodes on the server side.

        + a cluster, ActiveMQ can be configured to load balance messages between the nodes on the server side.

        However, if the consumer(s) on a particular node are closed, then messages in the queue at that node can appear to be stranded, since they have no local consumers.

        -

        If this is undesirable, HornetQ can be configured to redistribute messages from the node +

        If this is undesirable, ActiveMQ can be configured to redistribute messages from the node with no consumers, to nodes where there are consumers. If the consumers have JMS selectors set on them, then they will only be redistributed to nodes with consumers whose selectors match.

        By default, message redistribution is disabled, but can be enabled by specifying some AddressSettings configuration @@ -33,7 +33,7 @@ </address-setting>

        -

        For more information on HornetQ load balancing, and clustering in general, please see the clustering +

        For more information on ActiveMQ load balancing, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -136,8 +136,8 @@
      56. We now consume those messages on *both* server 0 and server 1. We note the messages have been distributed between servers in a round robin fashion. - HornetQ has load balanced the messages between the available consumers on the different nodes. - HornetQ can be configured to always load balance messages to all nodes, or to only balance messages + ActiveMQ has load balanced the messages between the available consumers on the different nodes. + ActiveMQ can be configured to always load balance messages to all nodes, or to only balance messages to nodes which have consumers with no or matching selectors. See the user manual for more details.
      57. JMS Queues implement point-to-point message where each message is only ever consumed by a maximum of one consumer. @@ -172,7 +172,7 @@
      58. Since there is no more consumer on node 1, the messages on node 1 are now stranded (no local consumers) - so HornetQ will redistribute them to node 0 so they can be consumed. We consume them from + so ActiveMQ will redistribute them to node 0 so they can be consumed. We consume them from node 0.
      59.             
        diff --git a/examples/jms/queue-requestor/readme.html b/examples/jms/queue-requestor/readme.html
        index a06ca5599e..ea3cd92e3d 100644
        --- a/examples/jms/queue-requestor/readme.html
        +++ b/examples/jms/queue-requestor/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS QueueRequestor Example
        +    ActiveMQ JMS QueueRequestor Example
             
             
             
        @@ -8,7 +8,7 @@
           
              

        JMS QueueRequestor Example

        -

        This example shows you how to use a QueueRequestor with HornetQ.

        +

        This example shows you how to use a QueueRequestor with ActiveMQ.

        JMS is mainly used to send messages asynchronously so that the producer of a message is not waiting for the result of the message consumption. However, there are cases where it is necessary to have a synchronous behavior: the code sending a message requires a reply for this message before continuing its execution.
        diff --git a/examples/jms/queue-selector/readme.html b/examples/jms/queue-selector/readme.html index b90e746398..f1ba1d7f95 100644 --- a/examples/jms/queue-selector/readme.html +++ b/examples/jms/queue-selector/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Queue Selector Example + ActiveMQ JMS Queue Selector Example diff --git a/examples/jms/queue/readme.html b/examples/jms/queue/readme.html index 8c16f2acda..e34ea7c89e 100644 --- a/examples/jms/queue/readme.html +++ b/examples/jms/queue/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Queue Example + ActiveMQ JMS Queue Example @@ -8,7 +8,7 @@

        JMS Queue Example

        -

        This example shows you how to send and receive a message to a JMS Queue using HornetQ.

        +

        This example shows you how to send and receive a message to a JMS Queue using ActiveMQ.

        Queues are a standard part of JMS, please consult the JMS 1.1 specification for full details.

        A Queue is used to send messages point to point, from a producer to a consumer. The queue guarantees message ordering between these 2 points.

        diff --git a/examples/jms/reattach-node/readme.html b/examples/jms/reattach-node/readme.html index 59dc57d966..f3407b09de 100644 --- a/examples/jms/reattach-node/readme.html +++ b/examples/jms/reattach-node/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Automatic Reattach Example + ActiveMQ JMS Automatic Reattach Example @@ -8,11 +8,11 @@

        JMS Reattach Example

        -

        This example demonstrates how HornetQ connections can be configured to be resilient to +

        This example demonstrates how ActiveMQ connections can be configured to be resilient to temporary network failures.

        In the case of a network failure being detected, either as a result of a failure to read/write to the connection, or the failure of a pong to arrive back from the server in good time after a ping is sent, instead of - failing the connection immediately and notifying any user ExceptionListener objects, HornetQ + failing the connection immediately and notifying any user ExceptionListener objects, ActiveMQ can be configured to automatically retry the connection, and reattach to the server when it becomes available again across the network.

        When the client reattaches to the server it will be able to resume using its sessions and connections @@ -28,7 +28,7 @@ related attributes in the hornetq-jms.xml file.

        For more details on how to configure this and for clustering in general - please consult the HornetQ user manual.

        + please consult the ActiveMQ user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        diff --git a/examples/jms/replicated-failback-static/readme.html b/examples/jms/replicated-failback-static/readme.html index 79e8f983fd..9087d229d9 100644 --- a/examples/jms/replicated-failback-static/readme.html +++ b/examples/jms/replicated-failback-static/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Failback using Static selectors Example + ActiveMQ JMS Failback using Static selectors Example @@ -11,7 +11,7 @@

        This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/replicated-failback/readme.html b/examples/jms/replicated-failback/readme.html index 7454608e85..b0c456469d 100644 --- a/examples/jms/replicated-failback/readme.html +++ b/examples/jms/replicated-failback/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Multiple Failover using Replication Example + ActiveMQ JMS Multiple Failover using Replication Example @@ -13,7 +13,7 @@

        This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/replicated-multiple-failover/readme.html b/examples/jms/replicated-multiple-failover/readme.html index d381c5d295..da305ab350 100644 --- a/examples/jms/replicated-multiple-failover/readme.html +++ b/examples/jms/replicated-multiple-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Multiple Failover using Replication Example + ActiveMQ JMS Multiple Failover using Replication Example @@ -11,7 +11,7 @@

        This example demonstrates three servers coupled as a live-backup-backup group for high availability (HA) using replication, and a client connection failing over from live to backup when the live server is crashed and then to the second backup once the new live fails.

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/replicated-transaction-failover/readme.html b/examples/jms/replicated-transaction-failover/readme.html index 11e589c65b..e3e621d854 100644 --- a/examples/jms/replicated-transaction-failover/readme.html +++ b/examples/jms/replicated-transaction-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Failover With Transaction using Replication Example + ActiveMQ JMS Failover With Transaction using Replication Example @@ -17,8 +17,8 @@ will need to retry the transaction work.
      60. if the failover occurs while there is no in-flight transaction, the failover will be transparent to the user.
      61. -

        HornetQ also provides an example for non-transaction failover.

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        ActiveMQ also provides an example for non-transaction failover.

        +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/request-reply/readme.html b/examples/jms/request-reply/readme.html index 79869b2261..f5b128747a 100644 --- a/examples/jms/request-reply/readme.html +++ b/examples/jms/request-reply/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Request-Reply Example + ActiveMQ JMS Request-Reply Example diff --git a/examples/jms/rest/dup-send/README.txt b/examples/jms/rest/dup-send/README.txt index b9bee8c022..9d267d21e9 100644 --- a/examples/jms/rest/dup-send/README.txt +++ b/examples/jms/rest/dup-send/README.txt @@ -15,7 +15,7 @@ To run the example you will need 3 shell-script windows (or you'll need to run 2 Step 1: $ mvn jetty:run -This will bring up HornetQ and the HornetQ REST Interface. +This will bring up ActiveMQ and the ActiveMQ REST Interface. Step 2: $ mvn exec:java -Dexec.mainClass="ReceiveOrder" diff --git a/examples/jms/rest/javascript-chat/README.txt b/examples/jms/rest/javascript-chat/README.txt index 9c0dbf0ac9..71dc2dcdef 100644 --- a/examples/jms/rest/javascript-chat/README.txt +++ b/examples/jms/rest/javascript-chat/README.txt @@ -9,7 +9,7 @@ The example is a very simple chat application between two browser windows. Step 1: $ mvn jetty:run -This will bring up HornetQ and the HornetQ REST Interface. +This will bring up ActiveMQ and the ActiveMQ REST Interface. Step 2: Bring up two browsers and point them to http://localhost:9095. In the textbox type a message you want to send. Click diff --git a/examples/jms/rest/jms-to-rest/README.txt b/examples/jms/rest/jms-to-rest/README.txt index eafb074170..1da957527a 100644 --- a/examples/jms/rest/jms-to-rest/README.txt +++ b/examples/jms/rest/jms-to-rest/README.txt @@ -12,7 +12,7 @@ To run the example you will need 5 shell-script windows (or you'll need to run 4 Step 1: $ mvn jetty:run -This will bring up HornetQ and the HornetQ REST Interface. +This will bring up ActiveMQ and the ActiveMQ REST Interface. Step 2: $ mvn exec:java -Dexec.mainClass="RestReceive" diff --git a/examples/jms/rest/push/README.txt b/examples/jms/rest/push/README.txt index 21b81938a5..470d594a0c 100644 --- a/examples/jms/rest/push/README.txt +++ b/examples/jms/rest/push/README.txt @@ -3,14 +3,14 @@ You will need JDK 1.6 and Maven to run this example. This example has been test with earlier or later versions of Maven. -This is an example of having the HornetQ REST interface forward a posted message to a registered URL. +This is an example of having the ActiveMQ REST interface forward a posted message to a registered URL. To run the example you will need 3 shell-script windows (or you'll need to run 2 processes in background) Step 1: $ mvn jetty:run -This will bring up HornetQ and the HornetQ REST Interface. Two queues will be created. An "order" queue and a "shipping" +This will bring up ActiveMQ and the ActiveMQ REST Interface. Two queues will be created. An "order" queue and a "shipping" queue. The server will forward posted messages to the "shipping" queue through a registered push subscription. Step 2: diff --git a/examples/jms/scale-down/readme.html b/examples/jms/scale-down/readme.html index f009d58788..d637728d6d 100644 --- a/examples/jms/scale-down/readme.html +++ b/examples/jms/scale-down/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Scale Down Example + ActiveMQ JMS Scale Down Example diff --git a/examples/jms/scheduled-message/readme.html b/examples/jms/scheduled-message/readme.html index 2240888173..21a143f366 100644 --- a/examples/jms/scheduled-message/readme.html +++ b/examples/jms/scheduled-message/readme.html @@ -1,6 +1,6 @@ - HornetQ Scheduled Message Example + ActiveMQ Scheduled Message Example @@ -8,7 +8,7 @@

        JMS Scheduled Message Example

        -

        This example shows you how to send a scheduled message to a JMS Queue using HornetQ.

        +

        This example shows you how to send a scheduled message to a JMS Queue using ActiveMQ.

        A Scheduled Message is a message that will be delivered at a time specified by the sender. To do this, simply set a HDR_SCHEDULED_DELIVERY_TIME header property. The value of the property should be the time of delivery in milliseconds.

        diff --git a/examples/jms/security/readme.html b/examples/jms/security/readme.html index e8b852be10..a55096f97d 100644 --- a/examples/jms/security/readme.html +++ b/examples/jms/security/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Security Example + ActiveMQ JMS Security Example @@ -8,16 +8,16 @@

        JMS Security Example

        -

        This example shows how to configure and use security using HornetQ.

        +

        This example shows how to configure and use security using ActiveMQ.

        -

        With security properly configured, HornetQ can restrict client access to its resources, including +

        With security properly configured, ActiveMQ can restrict client access to its resources, including connection creation, message sending/receiving, etc. This is done by configuring users and roles as well as permissions in the configuration files.

        -

        HornetQ supports wild-card security configuration. This feature makes security configuration very +

        ActiveMQ supports wild-card security configuration. This feature makes security configuration very flexible and enables fine-grained control over permissions in an efficient way.

        -

        For a full description of how to configure security with HornetQ, please consult the user +

        For a full description of how to configure security with ActiveMQ, please consult the user manual.

        This example demonstrates how to configure users/roles, how to configure topics with proper permissions using wild-card @@ -56,8 +56,8 @@ belongs to role 'europe-user', user 'frank' also belongs to 'us-user' and 'news-user' and user 'sam' also belongs to 'news-user'.

        - User name and password consists of a valid account that can be used to establish connections to a HornetQ server, while - roles are used in controlling the access privileges against HornetQ topics and queues. You can achieve this control by + User name and password consists of a valid account that can be used to establish connections to a ActiveMQ server, while + roles are used in controlling the access privileges against ActiveMQ topics and queues. You can achieve this control by configuring proper permissions in hornetq-configuration.xml, like the following

        
        @@ -107,8 +107,8 @@
              

        To illustrate the effect of permissions, three topics are deployed. Topic 'genericTopic' matches 'jms.topic.#' wild-card, topic 'news.europe.europeTopic' matches jms.topic.news.europe.#' wild-cards, and topic 'news.us.usTopic' matches 'jms.topic.news.us.#'.

        -

        With HornetQ, the security manager is also configurable. You can use JAASSecurityManager or JBossASSecurityManager based on you need. Please - check out the hornetq-beans.xml for how to do. In this example we just use the basic HornetQSecurityManagerImpl which reads users/roles/passwords from the xml +

        With ActiveMQ, the security manager is also configurable. You can use JAASSecurityManager or JBossASSecurityManager based on you need. Please + check out the hornetq-beans.xml for how to do. In this example we just use the basic ActiveMQSecurityManagerImpl which reads users/roles/passwords from the xml file hornetq-users.xml. diff --git a/examples/jms/send-acknowledgements/readme.html b/examples/jms/send-acknowledgements/readme.html index a0a45ddc0d..1a84bef34a 100644 --- a/examples/jms/send-acknowledgements/readme.html +++ b/examples/jms/send-acknowledgements/readme.html @@ -1,6 +1,6 @@ - HornetQ Asynchronous Send Acknowledgements Example + ActiveMQ Asynchronous Send Acknowledgements Example @@ -8,7 +8,7 @@

        Asynchronous Send Acknowledgements Example

        -

        Asynchronous Send Acknowledgements are an advanced feature of HornetQ which allow you to +

        Asynchronous Send Acknowledgements are an advanced feature of ActiveMQ which allow you to receive acknowledgements that messages were successfully received at the server in a separate thread to the sending thread

        In this example we create a normal JMS session, then set a SendAcknowledgementHandler on the JMS session's underlying core session. We send many messages to the server without blocking and asynchronously @@ -62,7 +62,7 @@

      62. Set the handler on the underlying core session
      63.             
        -         ClientSession coreSession = ((HornetQSession)session).getCoreSession();
        +         ClientSession coreSession = ((ActiveMQSession)session).getCoreSession();
                  
                  coreSession.setSendAcknowledgementHandler(new MySendAcknowledgementsHandler());
                    
        diff --git a/examples/jms/spring-integration/readme.html b/examples/jms/spring-integration/readme.html
        index 562f49ef9d..424e80ba0a 100644
        --- a/examples/jms/spring-integration/readme.html
        +++ b/examples/jms/spring-integration/readme.html
        @@ -1,14 +1,14 @@
         
            
        -      HornetQ Spring Example
        +      ActiveMQ Spring Example
               
               
               
            
            
        -      

        HornetQ Spring Example

        +

        ActiveMQ Spring Example

        -

        This examples shows how to setup and run an embedded JMS server within a Spring ApplicationContext using HornetQ along with HornetQ configuration files.

        +

        This examples shows how to setup and run an embedded JMS server within a Spring ApplicationContext using ActiveMQ along with ActiveMQ configuration files.

        Example step-by-step

        YOU MUST DOWNLOAD THE SPRING LIBRARIES TO RUN THIS EXAMPLE!!! You must also modify the build.xml file to include the spring jars. You'll see the placeholder that is already there.

        diff --git a/examples/jms/ssl-enabled/readme.html b/examples/jms/ssl-enabled/readme.html index 8d78bbb177..d128ce6dc9 100644 --- a/examples/jms/ssl-enabled/readme.html +++ b/examples/jms/ssl-enabled/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS SSL Example + ActiveMQ JMS SSL Example @@ -8,9 +8,9 @@

        JMS SSL Example

        -

        This example shows you how to configure SSL with HornetQ to send and receive message.

        +

        This example shows you how to configure SSL with ActiveMQ to send and receive message.

        -

        Using SSL can make your messaging applications interact with HornetQ securely. An application can +

        Using SSL can make your messaging applications interact with ActiveMQ securely. An application can be secured transparently without extra coding effort. To secure your messaging application with SSL, you need to configure connector and acceptor as follows:

        diff --git a/examples/jms/static-selector-jms/readme.html b/examples/jms/static-selector-jms/readme.html index d4a0529e8d..efb6310e88 100644 --- a/examples/jms/static-selector-jms/readme.html +++ b/examples/jms/static-selector-jms/readme.html @@ -1,6 +1,6 @@ - HornetQ Static Message Selector JMS Example + ActiveMQ Static Message Selector JMS Example @@ -10,9 +10,9 @@

        This example shows you how to configure a JMS queue with static message selectors (filters).

        -

        Static message selectors are HornetQ's extension to message selectors as defined in JMS spec 1.1. +

        Static message selectors are ActiveMQ's extension to message selectors as defined in JMS spec 1.1. Rather than specifying the selector in the application code, static message selectors are defined in one of - HornetQ's configuration files, hornetq-jms.xml, as an element called 'selector' inside each JMS queue + ActiveMQ's configuration files, hornetq-jms.xml, as an element called 'selector' inside each JMS queue definition:

        
        diff --git a/examples/jms/static-selector/readme.html b/examples/jms/static-selector/readme.html
        index 40b6a596fc..b4846df58b 100644
        --- a/examples/jms/static-selector/readme.html
        +++ b/examples/jms/static-selector/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Static Message Selector Example
        +    ActiveMQ Static Message Selector Example
             
             
             
        @@ -8,13 +8,13 @@
           
              

        Static Message Selector Example

        -

        This example shows you how to configure a HornetQ queue with static message selectors (filters) +

        This example shows you how to configure a ActiveMQ queue with static message selectors (filters) (to configure a static selector directly on a JMS queue, please see the static-selector-jms example).

        -

        Static message selectors are HornetQ's extension to message selectors as defined in JMS spec 1.1. +

        Static message selectors are ActiveMQ's extension to message selectors as defined in JMS spec 1.1. Rather than specifying the selector in the application code, static message selectors are defined in one of - HornetQ's configuration files, hornetq-configuration.xml, as an element called 'filter' inside each queue + ActiveMQ's configuration files, hornetq-configuration.xml, as an element called 'filter' inside each queue definition, like

        
        diff --git a/examples/jms/stomp-websockets/readme.html b/examples/jms/stomp-websockets/readme.html
        index 914ede3778..89a93b9290 100644
        --- a/examples/jms/stomp-websockets/readme.html
        +++ b/examples/jms/stomp-websockets/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Stomp WebSockets Example
        +    ActiveMQ Stomp WebSockets Example
             
             
             
        @@ -8,9 +8,9 @@
           
              

        Stomp WebSockets Example

        -

        This example shows you how to configure HornetQ to send and receive Stomp messages from modern web browser using Web Sockets.

        +

        This example shows you how to configure ActiveMQ to send and receive Stomp messages from modern web browser using Web Sockets.

        -

        The example will start a HornetQ server configured with Stomp over Web Sockets and JMS. Web browsers clients and +

        The example will start a ActiveMQ server configured with Stomp over Web Sockets and JMS. Web browsers clients and Java application will exchange message using a JMS Topic.

         <acceptor name="stomp-websocket">
        @@ -23,7 +23,7 @@
              

        To run the example, simply type mvn verify from this directory

        To subscribe to the topic from your web browser, open the Chat Example or the JBoss AeroGear STOMP notifier Chat Example from another tab. - The chat example is preconfigured to connect to the HornetQ server with the URL ws://localhost:61614/stomp and subscribe to the JMS Topic (through its core address + The chat example is preconfigured to connect to the ActiveMQ server with the URL ws://localhost:61614/stomp and subscribe to the JMS Topic (through its core address jms.topic.chat).

        You can open as many Web clients as you want and they will all exchange messages through the topic

        diff --git a/examples/jms/stomp/readme.html b/examples/jms/stomp/readme.html index a623ec2435..e9382992c6 100644 --- a/examples/jms/stomp/readme.html +++ b/examples/jms/stomp/readme.html @@ -1,6 +1,6 @@ - HornetQ Stomp Example + ActiveMQ Stomp Example @@ -8,8 +8,8 @@

        Stomp Example

        -

        This example shows you how to configure HornetQ to send and receive Stomp messages.

        -

        The example will start a HornetQ server configured with Stomp and JMS.

        +

        This example shows you how to configure ActiveMQ to send and receive Stomp messages.

        +

        The example will start a ActiveMQ server configured with Stomp and JMS.

        The client will open a socket to send one Stomp message (using TCP directly). The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.

        @@ -34,7 +34,7 @@
      64. We send a SEND frame (a Stomp message) to the destination jms.queue.exampleQueue - (which corresponds to the HornetQ address for the JMS Queue exampleQueue) with a text body
      65. + (which corresponds to the ActiveMQ address for the JMS Queue exampleQueue) with a text body
                   String text = "Hello, world from Stomp!";
                   String message = "SEND\n" + 
        diff --git a/examples/jms/stomp1.1/readme.html b/examples/jms/stomp1.1/readme.html
        index 3f53f1bebc..dcfbe6b03f 100644
        --- a/examples/jms/stomp1.1/readme.html
        +++ b/examples/jms/stomp1.1/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Stomp 1.1 Example
        +    ActiveMQ Stomp 1.1 Example
             
             
             
        @@ -8,8 +8,8 @@
           
              

        Stomp 1.1 Example

        -

        This example shows you how to configure HornetQ to send and receive Stomp messages using Stomp 1.1 protocol.

        -

        The example will start a HornetQ server configured with Stomp and JMS.

        +

        This example shows you how to configure ActiveMQ to send and receive Stomp messages using Stomp 1.1 protocol.

        +

        The example will start a ActiveMQ server configured with Stomp and JMS.

        The client will open a socket to initiate a Stomp 1.1 connection and then send one Stomp message (using TCP directly). The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.

        @@ -42,7 +42,7 @@
      66. We send a SEND frame (a Stomp message) to the destination jms.queue.exampleQueue - (which corresponds to the HornetQ address for the JMS Queue exampleQueue) with a text body
      67. + (which corresponds to the ActiveMQ address for the JMS Queue exampleQueue) with a text body
                   String text = "Hello World from Stomp 1.1 !";
                   String message = "SEND\n" + 
        diff --git a/examples/jms/stomp1.2/readme.html b/examples/jms/stomp1.2/readme.html
        index ab9b3d9987..75183bb8cd 100644
        --- a/examples/jms/stomp1.2/readme.html
        +++ b/examples/jms/stomp1.2/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ Stomp 1.1 Example
        +    ActiveMQ Stomp 1.1 Example
             
             
             
        @@ -8,8 +8,8 @@
           
              

        Stomp 1.2 Example

        -

        This example shows you how to configure HornetQ to send and receive Stomp messages using Stomp 1.2 protocol.

        -

        The example will start a HornetQ server configured with Stomp and JMS.

        +

        This example shows you how to configure ActiveMQ to send and receive Stomp messages using Stomp 1.2 protocol.

        +

        The example will start a ActiveMQ server configured with Stomp and JMS.

        The client will open a socket to initiate a Stomp 1.2 connection and then send one Stomp message (using TCP directly). The client will then consume a message from a JMS Queue and check it is the message sent with Stomp.

        @@ -42,7 +42,7 @@
      68. We send a SEND frame (a Stomp message) to the destination jms.queue.exampleQueue - (which corresponds to the HornetQ address for the JMS Queue exampleQueue) with a text body
      69. + (which corresponds to the ActiveMQ address for the JMS Queue exampleQueue) with a text body
                   String text = "Hello World from Stomp 1.2 !";
                   String message = "SEND\n" + 
        diff --git a/examples/jms/stop-server-failover/readme.html b/examples/jms/stop-server-failover/readme.html
        index 77a55bb6ef..6c228ab1cf 100644
        --- a/examples/jms/stop-server-failover/readme.html
        +++ b/examples/jms/stop-server-failover/readme.html
        @@ -1,6 +1,6 @@
         
           
        -    HornetQ JMS Failover Without Transactions Example
        +    ActiveMQ JMS Failover Without Transactions Example
             
             
             
        @@ -15,7 +15,7 @@
                 and it is possible some messages will be lost or delivered twice, depending when the failover to the backup server occurs.

        It is up to the client to deal with such cases. To ensure once and only once delivery, the client must use transacted JMS sessions (as shown in the example for failover with transactions).

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/symmetric-cluster/readme.html b/examples/jms/symmetric-cluster/readme.html index cbe30c9e6c..d42b0139a6 100644 --- a/examples/jms/symmetric-cluster/readme.html +++ b/examples/jms/symmetric-cluster/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Symmetric Cluster Example + ActiveMQ JMS Symmetric Cluster Example @@ -8,8 +8,8 @@

        JMS Symmetric Cluster Example

        -

        This examples demonstrates a symmetric cluster set-up with HornetQ.

        -

        HornetQ has extremely flexible clustering which allows you to set-up servers in +

        This examples demonstrates a symmetric cluster set-up with ActiveMQ.

        +

        ActiveMQ has extremely flexible clustering which allows you to set-up servers in many different topologies.

        The most common topology that you'll perhaps be familiar with if you are used to application server clustering is a symmetric cluster.

        @@ -17,9 +17,9 @@ as every other node, and every node is connected to every other node in the cluster.

        By connecting node in such a way, we can, from a JMS point of view, give the impression of distributed JMS queues and topics.

        -

        The configuration used in this example is very similar to the configuration used by HornetQ +

        The configuration used in this example is very similar to the configuration used by ActiveMQ when installed as a clustered profile in JBoss Application Server.

        -

        To set up HornetQ to form a symmetric cluster we simply need to mark each server as clustered +

        To set up ActiveMQ to form a symmetric cluster we simply need to mark each server as clustered and we need to define a cluster-connection in hornetq-configuration.xml.

        The cluster-connection tells the nodes what other nodes to make connections to. With a cluster-connection each node that we connect to can either be specified @@ -46,7 +46,7 @@

        In this example will we will demonstrate this by deploying a JMS topic and Queue on all nodes of the cluster , sending messages to the queue and topic from different nodes, and verifying messages are received correctly by consumers on different nodes.

        -

        For more information on configuring HornetQ clustering in general, please see the clustering +

        For more information on configuring ActiveMQ clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        To run the example, simply type mvn verify from this directory

        @@ -63,16 +63,16 @@
                    
        -   ConnectionFactory cf = HornetQJMSClient.createConnectionFactoryWithHA("231.7.7.7", 9876); 
        +   ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithHA("231.7.7.7", 9876); 
            
                 
      70. Directly instantiate JMS Queue and Topic objects
      71.             
        -   Queue queue = new HornetQQueue("exampleQueue");
        +   Queue queue = new ActiveMQQueue("exampleQueue");
                  
        -   Topic topic = HornetQJMSClient.createHornetQTopic("exampleTopic");           
        +   Topic topic = ActiveMQJMSClient.createActiveMQTopic("exampleTopic");           
                    
                 
        diff --git a/examples/jms/temp-queue/readme.html b/examples/jms/temp-queue/readme.html index 96b651df78..44d1a0db4c 100644 --- a/examples/jms/temp-queue/readme.html +++ b/examples/jms/temp-queue/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Temporary Queue Example + ActiveMQ JMS Temporary Queue Example @@ -8,7 +8,7 @@

        JMS Temporary Queue Example

        -

        This example shows you how to use a TemporaryQueue with HornetQ. First a temporary queue is created to send and receive a message and then deleted. +

        This example shows you how to use a TemporaryQueue with ActiveMQ. First a temporary queue is created to send and receive a message and then deleted. Then another temporary queue is created and used after its connection is closed to illustrate its scope.

        A TemporaryQueue is a JMS queue that exists only within the lifetime of its connection. It is often used in request-reply type messaging where the reply is sent through a temporary destination. The temporary queue is often created as diff --git a/examples/jms/topic-hierarchies/readme.html b/examples/jms/topic-hierarchies/readme.html index 9446325bbc..a0e81eedb1 100644 --- a/examples/jms/topic-hierarchies/readme.html +++ b/examples/jms/topic-hierarchies/readme.html @@ -1,6 +1,6 @@ - HornetQ Topic Hierarchy Example + ActiveMQ Topic Hierarchy Example @@ -8,9 +8,9 @@

        Topic Hierarchy Example

        -

        HornetQ supports topic hierarchies. With a topic hierarchy you can register a subscriber with a wild-card +

        ActiveMQ supports topic hierarchies. With a topic hierarchy you can register a subscriber with a wild-card and that subscriber will receive any messages routed to an address that match the wildcard.

        -

        HornetQ wild-cards can use the character '#' which means "match any number of words", and +

        ActiveMQ wild-cards can use the character '#' which means "match any number of words", and the character '*' which means "match a single word". Words are delimited by the character "."

        For example if I subscribe using the wild-card "news.europe.#", then that would match messages sent to the addresses "news.europe", "news.europe.sport" and "news.europe.entertainment", but it does not match messages sent to the @@ -75,7 +75,7 @@

      72. Instantiate a topic representing the wildcard we're going to subscribe to.
      73. -           Topic topicSubscribe = HornetQJMSClient.createHornetQTopic("news.europe.#");
        +           Topic topicSubscribe = ActiveMQJMSClient.createActiveMQTopic("news.europe.#");
                 
      74. Create a consumer (topic subscriber) that will consume using that wildcard. @@ -93,11 +93,11 @@ we're going to send messages to. You could look these up from JNDI if you wanted to.
      75.             
        -         Topic topicNewsUsaWrestling = HornetQJMSClient.createHornetQTopic("news.usa.wrestling");
        +         Topic topicNewsUsaWrestling = ActiveMQJMSClient.createActiveMQTopic("news.usa.wrestling");
                  
        -         Topic topicNewsEuropeSport = HornetQJMSClient.createHornetQTopic("news.europe.sport");
        +         Topic topicNewsEuropeSport = ActiveMQJMSClient.createActiveMQTopic("news.europe.sport");
                  
        -         Topic topicNewsEuropeEntertainment = HornetQJMSClient.createHornetQTopic("news.europe.entertainment");
        +         Topic topicNewsEuropeEntertainment = ActiveMQJMSClient.createActiveMQTopic("news.europe.entertainment");
                 
      76. Send a message destined for the usa wrestling topic.
      77. diff --git a/examples/jms/topic-selector-example1/readme.html b/examples/jms/topic-selector-example1/readme.html index 61c6b4cf6f..50a5e0ec5a 100644 --- a/examples/jms/topic-selector-example1/readme.html +++ b/examples/jms/topic-selector-example1/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Topic Selector Example 1 + ActiveMQ JMS Topic Selector Example 1 diff --git a/examples/jms/topic-selector-example2/readme.html b/examples/jms/topic-selector-example2/readme.html index 269d128c96..789f52b0ab 100644 --- a/examples/jms/topic-selector-example2/readme.html +++ b/examples/jms/topic-selector-example2/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Topic Selector Example 2 + ActiveMQ JMS Topic Selector Example 2 @@ -11,7 +11,7 @@

        This example shows you how to selectively consume messages using message selectors with topic consumers.

        Message selectors are strings with special syntax that can be used in creating consumers. Message consumers - that are thus created only receive messages that match its selector. On message delivering, the HornetQ + that are thus created only receive messages that match its selector. On message delivering, the ActiveMQ Server evaluates the corresponding message headers of the messages against each selector, if any, and then delivers the 'matched' messages to its consumer. Please consult the JMS 1.1 specification for full details.

        diff --git a/examples/jms/topic/readme.html b/examples/jms/topic/readme.html index 34909fcf08..12cae5298d 100644 --- a/examples/jms/topic/readme.html +++ b/examples/jms/topic/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Topic Example + ActiveMQ JMS Topic Example @@ -8,7 +8,7 @@

        JMS Topic Example

        -

        This example shows you how to send and receive a message to a JMS Topic with HornetQ.

        +

        This example shows you how to send and receive a message to a JMS Topic with ActiveMQ.

        Topics are a standard part of JMS, please consult the JMS 1.1 specification for full details.

        A Topic is used to send messages using the publish-subscribe model, from a producer to 1 or more consumers.

        diff --git a/examples/jms/transaction-failover/readme.html b/examples/jms/transaction-failover/readme.html index 3714a5fe34..1b2c4bba83 100644 --- a/examples/jms/transaction-failover/readme.html +++ b/examples/jms/transaction-failover/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Failover With Transaction Example + ActiveMQ JMS Failover With Transaction Example @@ -17,8 +17,8 @@ will need to retry the transaction work.
      78. if the failover occurs while there is no in-flight transaction, the failover will be transparent to the user.
      79. -

        HornetQ also provides an example for non-transaction failover.

        -

        For more information on HornetQ failover and HA, and clustering in general, please see the clustering +

        ActiveMQ also provides an example for non-transaction failover.

        +

        For more information on ActiveMQ failover and HA, and clustering in general, please see the clustering section of the user manual.

        Example step-by-step

        diff --git a/examples/jms/transactional/readme.html b/examples/jms/transactional/readme.html index 96d1ace893..aeab3e910c 100644 --- a/examples/jms/transactional/readme.html +++ b/examples/jms/transactional/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS Transactional Session Example + ActiveMQ JMS Transactional Session Example @@ -8,7 +8,7 @@

        JMS Transactional Session Example

        -

        This example shows you how to use a transacted Session with HornetQ.

        +

        This example shows you how to use a transacted Session with ActiveMQ.

        Firstly 2 messages are sent via the transacted sending session before being committed. This ensures that both message are sent

        Secondly the receiving session receives the messages firstly demonstrating a message being redelivered after the session diff --git a/examples/jms/xa-heuristic/readme.html b/examples/jms/xa-heuristic/readme.html index 9d648a05f7..a7cfca7c09 100644 --- a/examples/jms/xa-heuristic/readme.html +++ b/examples/jms/xa-heuristic/readme.html @@ -1,13 +1,13 @@ - HornetQ JMS XA Heuristic Example + ActiveMQ JMS XA Heuristic Example

        JMS XA Heuristic Example

        -

        This example shows you how to make an XA heuristic decision through the HornetQ Management Interface.

        +

        This example shows you how to make an XA heuristic decision through the ActiveMQ Management Interface.

        A heuristic decision is a unilateral decision to commit or rollback an XA transaction branch after it has been prepared.

        @@ -20,7 +20,7 @@ Then we get the MBeanServerConnection object to manipulate the prepared transactions. To illustrate, we roll back the first transaction but commit the second. This will result in that only the message 'world' is received.

        -

        This example uses JMX to manipulate transactions in a HornetQ Server. For details on JMX facilities with HornetQ, +

        This example uses JMX to manipulate transactions in a ActiveMQ Server. For details on JMX facilities with ActiveMQ, please look at the JMX Example.

        Example step-by-step

        diff --git a/examples/jms/xa-receive/readme.html b/examples/jms/xa-receive/readme.html index de8396abf3..b085e01d78 100644 --- a/examples/jms/xa-receive/readme.html +++ b/examples/jms/xa-receive/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS XA Receive Example + ActiveMQ JMS XA Receive Example @@ -11,7 +11,7 @@ the message will only be acknowledged and removed from the queue when the transaction is committed. If the transaction is not committed the message maybe redelivered after rollback or during XA recovery.

        -

        HornetQ is JTA aware, meaning you can use HornetQ in an XA transactional environment +

        ActiveMQ is JTA aware, meaning you can use ActiveMQ in an XA transactional environment and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.

        diff --git a/examples/jms/xa-send/readme.html b/examples/jms/xa-send/readme.html index 4736af8166..2c786a283e 100644 --- a/examples/jms/xa-send/readme.html +++ b/examples/jms/xa-send/readme.html @@ -1,17 +1,17 @@ - HornetQ JMS XA Send Example + ActiveMQ JMS XA Send Example

        JMS XA Send Example

        -

        This example shows you how message sending behaves in an XA transaction in HornetQ. When a message is sent within +

        This example shows you how message sending behaves in an XA transaction in ActiveMQ. When a message is sent within the scope of an XA transaction, it will only reach the queue once the transaction is committed. If the transaction is rolled back the sent messages will be discarded by the server.

        -

        HornetQ is JTA aware, meaning you can use HornetQ in a XA transactional environment +

        ActiveMQ is JTA aware, meaning you can use ActiveMQ in a XA transactional environment and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.

        diff --git a/examples/jms/xa-with-jta/readme.html b/examples/jms/xa-with-jta/readme.html index 1cd5e39167..291b5a3627 100644 --- a/examples/jms/xa-with-jta/readme.html +++ b/examples/jms/xa-with-jta/readme.html @@ -1,6 +1,6 @@ - HornetQ JMS XA with JTA Example + ActiveMQ JMS XA with JTA Example @@ -8,10 +8,10 @@

        JMS XA with JTA Example

        -

        This example shows you how to use JTA interfaces to control transactions with HornetQ. JTA provides +

        This example shows you how to use JTA interfaces to control transactions with ActiveMQ. JTA provides facilities to start and stop a transaction and enlist XA resources into a transaction.

        -

        HornetQ is JTA aware, meaning you can use HornetQ in a XA transactional environment +

        ActiveMQ is JTA aware, meaning you can use ActiveMQ in a XA transactional environment and participate in XA transactions. It provides the javax.transaction.xa.XAResource interface for that purpose. Users can get a XAConnectionFactory to create XAConnections and XASessions.

        diff --git a/examples/soak/normal/README b/examples/soak/normal/README index b1025c4077..9f2361d2c2 100644 --- a/examples/soak/normal/README +++ b/examples/soak/normal/README @@ -5,7 +5,7 @@ Running the Soak Tests ======================= -The default soak tests with start a HornetQ instance, 1 producer and 1 consumer. To run the default suite. +The default soak tests with start a ActiveMQ instance, 1 producer and 1 consumer. To run the default suite. $mvn verify diff --git a/tests/config/logging.properties b/tests/config/logging.properties index e0fe0f4aad..25fdedef76 100644 --- a/tests/config/logging.properties +++ b/tests/config/logging.properties @@ -26,7 +26,7 @@ loggers=org.jboss.logging,org.apache.activemq.core.server,org.apache.activemq.ut # Root logger level logger.level=INFO -# HornetQ logger levels +# ActiveMQ logger levels logger.org.apache.activemq.core.server.level=INFO logger.org.apache.activemq.journal.level=INFO logger.org.apache.activemq.utils.level=INFO diff --git a/tests/config/logging.properties.trace b/tests/config/logging.properties.trace index fa38040b70..3197b3dd75 100644 --- a/tests/config/logging.properties.trace +++ b/tests/config/logging.properties.trace @@ -28,7 +28,7 @@ loggers=org.jboss.logging,org.apache.activemq.core.server,org.apache.activemq.ut # Root logger level logger.level=INFO -# HornetQ logger levels +# ActiveMQ logger levels logger.org.apache.activemq.core.server.level=TRACE logger.org.apache.activemq.journal.level=INFO logger.org.apache.activemq.utils.level=INFO diff --git a/tests/jms-tests/src/test/resources/jbossjta-properties.xml b/tests/jms-tests/src/test/resources/jbossjta-properties.xml index 2cfb6dbce4..2d09153645 100644 --- a/tests/jms-tests/src/test/resources/jbossjta-properties.xml +++ b/tests/jms-tests/src/test/resources/jbossjta-properties.xml @@ -156,7 +156,7 @@ - +