merge #17 Fixing tests after package and classes renames
This commit is contained in:
commit
2fbd5d7356
|
@ -679,7 +679,7 @@ public class ActiveMQSessionContext extends SessionContext
|
|||
ClientSession.QueueQuery queueInfo = consumerInternal.getQueueInfo();
|
||||
|
||||
// We try and recreate any non durable queues, since they probably won't be there unless
|
||||
// they are defined in hornetq-configuration.xml
|
||||
// they are defined in activemq-configuration.xml
|
||||
// This allows e.g. JMS non durable subs and temporary queues to continue to be used after failover
|
||||
if (!queueInfo.isDurable())
|
||||
{
|
||||
|
|
|
@ -5,5 +5,4 @@ activemq.version.microVersion=${activemq.version.microVersion}
|
|||
activemq.version.incrementingVersion=${activemq.version.incrementingVersion}
|
||||
activemq.version.versionSuffix=${activemq.version.versionSuffix}
|
||||
activemq.version.versionTag=${activemq.version.versionTag}
|
||||
activemq.netty.version=${netty.version.string}
|
||||
activemq.version.compatibleVersionList=121,122,123,124,125
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<hornetq.version>${project.version}</hornetq.version>
|
||||
<activemq.version>${project.version}</activemq.version>
|
||||
<hornetq.basedir>${project.basedir}/..</hornetq.basedir>
|
||||
</properties>
|
||||
|
||||
|
@ -67,12 +67,12 @@
|
|||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-server</artifactId>
|
||||
<version>${hornetq.version}</version>
|
||||
<version>${activemq.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-jms-server</artifactId>
|
||||
<version>${hornetq.version}</version>
|
||||
<version>${activemq.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss.spec.javax.jms</groupId>
|
||||
|
|
|
@ -49,8 +49,8 @@ public class WrongRoleFileConfigurationParserTest extends UnitTestCase
|
|||
parser.parseMainConfig(input);
|
||||
|
||||
// Using the code only because I don't want a test failing just for someone editing Log text
|
||||
assertTrue(AssertionLoggerHandler.findText("HQ222177", "create-durable-queue"));
|
||||
assertTrue(AssertionLoggerHandler.findText("HQ222177", "delete-durable-queue"));
|
||||
assertTrue(AssertionLoggerHandler.findText("AMQ222177", "create-durable-queue"));
|
||||
assertTrue(AssertionLoggerHandler.findText("AMQ222177", "delete-durable-queue"));
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-users.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-users.xsd">
|
||||
<!-- the default user. this is used where username is null-->
|
||||
<defaultuser name="guest" password="guest">
|
||||
<role name="guest"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-users.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-users.xsd">
|
||||
<!-- the default user. this is used where username is null-->
|
||||
<defaultuser name="guest" password="guest">
|
||||
<role name="guest"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-users.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-users.xsd">
|
||||
<!-- the default user. this is used where username is null-->
|
||||
<defaultuser name="guest" password="guest">
|
||||
<role name="guest"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-users.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-users.xsd">
|
||||
<!-- the default user. this is used where username is null-->
|
||||
<defaultuser name="guest" password="guest">
|
||||
<role name="guest"/>
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
First let's start with the configuration of the live server, we will use the EAP 'all' configuration as
|
||||
our starting point. Since this version only supports shared store for failover we need to configure
|
||||
this in the
|
||||
<literal>hornetq-configuration.xml</literal>
|
||||
<literal>activemq-configuration.xml</literal>
|
||||
file like so:
|
||||
</para>
|
||||
<programlisting>
|
||||
|
@ -92,7 +92,7 @@
|
|||
where
|
||||
where
|
||||
this lives backup can access. You may change the lives configuration in
|
||||
<literal>hornetq-configuration.xml</literal>
|
||||
<literal>activemq-configuration.xml</literal>
|
||||
to
|
||||
something like:
|
||||
</para>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<para>If you want clients to failover on a normal server shutdown the you must configure the
|
||||
<literal>failover-on-shutdown</literal>
|
||||
flag to true in the
|
||||
<literal>hornetq-configuration.xml</literal>
|
||||
<literal>activemq-configuration.xml</literal>
|
||||
file like so:
|
||||
</para>
|
||||
<programlisting>
|
||||
|
@ -202,7 +202,7 @@
|
|||
</para>
|
||||
<para>
|
||||
The first thing to mention is that the backup only needs a <literal>hornetq-jboss-beans.xml</literal>
|
||||
and a <literal>hornetq-configuration.xml</literal> configuration file. This is because any JMS components
|
||||
and a <literal>activemq-configuration.xml</literal> configuration file. This is because any JMS components
|
||||
are created from the Journal when the backup server becomes live.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -223,7 +223,7 @@
|
|||
<!-- The core configuration -->
|
||||
<bean name="BackupConfiguration" class="org.apache.activemq.core.config.impl.FileConfiguration">
|
||||
<property
|
||||
name="configurationUrl">${jboss.server.home.url}/deploy/hornetq-backup1/hornetq-configuration.xml</property>
|
||||
name="configurationUrl">${jboss.server.home.url}/deploy/hornetq-backup1/activemq-configuration.xml</property>
|
||||
</bean>
|
||||
|
||||
|
||||
|
@ -278,7 +278,7 @@
|
|||
</note>
|
||||
<para>
|
||||
Now let's add the server configuration in
|
||||
<literal>hornetq-configuration.xml</literal>
|
||||
<literal>activemq-configuration.xml</literal>
|
||||
and add it to the same directory
|
||||
<literal>deploy/hornetq-backup1</literal>
|
||||
and configure it like so:
|
||||
|
@ -515,10 +515,10 @@
|
|||
is that there is no backup in the eap instance.
|
||||
</para>
|
||||
<para>
|
||||
For the backup server the <literal>hornetq-configuration.xml</literal> is unchanged, however since there is
|
||||
For the backup server the <literal>activemq-configuration.xml</literal> is unchanged, however since there is
|
||||
no live server we need to make sure that the <literal>hornetq-jboss-beans.xml</literal> instantiates all
|
||||
the beans needed. For this simply use the same configuration as in the live server changing only the
|
||||
location of the <literal>hornetq-configuration.xml</literal> parameter for the <literal>Configuration</literal>
|
||||
location of the <literal>activemq-configuration.xml</literal> parameter for the <literal>Configuration</literal>
|
||||
bean.
|
||||
</para>
|
||||
<para>
|
||||
|
|
|
@ -200,7 +200,7 @@ undeploy-misc:
|
|||
[delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
|
||||
/server/default-with-hornetq/deploy/mdb-example.ear
|
||||
[delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
|
||||
/server/default-with-hornetq/deploy/hornetq.sar/hornetq-queues.xml
|
||||
/server/default-with-hornetq/deploy/hornetq.sar/activemq-queues.xml
|
||||
[delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
|
||||
/server/default-with-hornetq/deploy/hornetq.sar/hornetq-jms.xml
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
<title>集群概述</title>
|
||||
<para>HornetQ集群是由一组HornetQ服务器组成的集合,它们协同合作进行消息处理。集群中每个主节点就是一个
|
||||
HornetQ服务器,它管理自己的连接并处理自己的消息。要将一个HornetQ服务器配置为集群服务器,需要将配置
|
||||
文件<literal>hornetq-configuration.xml</literal>中<literal>clustered</literal>的值设
|
||||
文件<literal>activemq-configuration.xml</literal>中<literal>clustered</literal>的值设
|
||||
为<literal>true</literal>。默认值是<literal>false</literal>。</para>
|
||||
<para>要组成一个集群,每个节点都要在其核心配置文件<literal>hornetq-configuration.xml</literal>
|
||||
<para>要组成一个集群,每个节点都要在其核心配置文件<literal>activemq-configuration.xml</literal>
|
||||
中声明<emphasis>集群连接</emphasis>,用来建立与集群中其它节点的通迅。每两个节点间都是通过内部的一个
|
||||
<emphasis>核心桥</emphasis>(参见<xref linkend="core-bridges" />)连接的。这些连接的建立是
|
||||
透明的--你不需要为每个连接显式地声明一个桥。集群连接的作用是在集群的各个节点间进行负载平衡。</para>
|
||||
|
@ -58,9 +58,9 @@
|
|||
<para>广播组包括了一系列的连接器对。每个连接器对由主服务器的连接器和备份(可选)服务器连接器信息组成。
|
||||
广播组还定义了所使用的UDP的在址和端口信息。</para>
|
||||
<para>广播组的配置中服务器配置文件<literal
|
||||
>hornetq-configuration.xml</literal>中。一个HornetQ服务器可以有多个广播组。所有的广播组
|
||||
>activemq-configuration.xml</literal>中。一个HornetQ服务器可以有多个广播组。所有的广播组
|
||||
必需定义在<literal>broadcast-groups</literal>内。</para>
|
||||
<para>让我们来看一个<literal>hornetq-configuration.xml</literal>文件中广播组的例子:</para>
|
||||
<para>让我们来看一个<literal>activemq-configuration.xml</literal>文件中广播组的例子:</para>
|
||||
<programlisting><broadcast-groups>
|
||||
<broadcast-group name="my-broadcast-group">
|
||||
<local-bind-address>172.16.9.3</local-bind-address>
|
||||
|
@ -127,7 +127,7 @@
|
|||
</section>
|
||||
<section>
|
||||
<title>在服务器端定义发现组。</title>
|
||||
<para>服务器端的发现组定义在<literal>hornetq-configuration.xml</literal>配置文件中。所有的发现组都必须
|
||||
<para>服务器端的发现组定义在<literal>activemq-configuration.xml</literal>配置文件中。所有的发现组都必须
|
||||
在<literal>discovery-groups</literal>内定义。发现组可以定义多个。请看下面的例子:</para>
|
||||
<programlisting><discovery-groups>
|
||||
<discovery-group name="my-discovery-group">
|
||||
|
@ -177,7 +177,7 @@
|
|||
</entries>
|
||||
</connection-factory></programlisting>
|
||||
<para>其中<literal>discovery-group-ref</literal>的值是定义在
|
||||
<literal>hornetq-configuration.xml</literal>文件中的一个发现组。</para>
|
||||
<literal>activemq-configuration.xml</literal>文件中的一个发现组。</para>
|
||||
<para>当连接工厂从JNDI下载到客户端时,使用它创建连接就会在列表中的服务器间进行负载均衡。
|
||||
客户端通过监听发现组中的广播地址可以不断更新这个服务器列表。</para>
|
||||
<para>如果使用JMS但是不用JNDI,而是直接实例化JMS的连接工厂的话,可以用适当的方法来设置发现组的各个
|
||||
|
@ -239,7 +239,7 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();</programlis
|
|||
<section id="clusters.cluster-connections">
|
||||
<title>配置集群连接</title>
|
||||
<para>集群连接将一组服务器连接成为一个集群,消息可以在集群的节点之间进行负载均衡。集群连接的配置在
|
||||
<literal>hornetq-configuration.xml</literal>文件中的
|
||||
<literal>activemq-configuration.xml</literal>文件中的
|
||||
<literal>cluster-connection</literal>内。一个HornetQ服务器可以有零个或多个集群连接。
|
||||
下面是一个典型的例子:</para>
|
||||
<programlisting>
|
||||
|
@ -314,7 +314,7 @@ Connection jmsConnection2 = jmsConnectionFactory.createConnection();</programlis
|
|||
<title>集群用户的安全信息</title>
|
||||
|
||||
<para>当集群中两个节点建立连接时,HornetQ使用一个集群用户和集群密码。它们定义在
|
||||
<literal>hornetq-configuration.xml</literal>文件中:</para>
|
||||
<literal>activemq-configuration.xml</literal>文件中:</para>
|
||||
<programlisting>
|
||||
<cluster-user>HORNETQ.CLUSTER.ADMIN.USER</cluster-user>
|
||||
<cluster-password>CHANGE ME!!</cluster-password>
|
||||
|
@ -404,9 +404,9 @@ factory.setLoadBalancingPolicyClassName("com.acme.MyLoadBalancingPolicy");
|
|||
<literal>connector-ref</literal>。每个<literal>connector-ref</literal>
|
||||
都拥有<literal>connector-name</literal>属性和一个可选的<literal
|
||||
>backup-connector-name</literal>属性。<literal
|
||||
>connector-name</literal> 属性指向的是一个在<literal>hornetq-configuration.xml</literal>
|
||||
>connector-name</literal> 属性指向的是一个在<literal>activemq-configuration.xml</literal>
|
||||
文件中定义的连接器。而<literal>backup-connector-name</literal>属性也是指向在
|
||||
<literal>hornetq-configuration.xml</literal>文件中定义的一个连接器。
|
||||
<literal>activemq-configuration.xml</literal>文件中定义的一个连接器。
|
||||
有关连接器更多的信息参见<xref linkend="configuring-transports" />。</para>
|
||||
<para>连接工厂这样就保存有一组[连接器, 备份连接器]对,用于客户端在创建连接时的负载均衡。</para>
|
||||
<para>如果你使用JMS,但不使用JNDI,你可以直接创建<literal>HornetQConnectionFactory</literal>
|
||||
|
@ -476,9 +476,9 @@ ClientSession session2 = factory.createClientSession(...);</programlisting>
|
|||
每个<literal>connector-ref</literal>都有一个<literal>connector-name</literal>属性和
|
||||
一个可选的<literal>backup-connector-name</literal>属性。<literal
|
||||
>connector-name</literal>属性指向一个在<literal
|
||||
>hornetq-configuration.xml</literal>文件中定义的一个连接器,它是主连接器。可选的
|
||||
>activemq-configuration.xml</literal>文件中定义的一个连接器,它是主连接器。可选的
|
||||
<literal>backup-connector-name</literal>指向的也是在
|
||||
<literal>hornetq-configuration.xml</literal>文件中定义的一个连接器。
|
||||
<literal>activemq-configuration.xml</literal>文件中定义的一个连接器。
|
||||
有关连接器的详细信息参见<xref linkend="configuring-transports" />。</para>
|
||||
<note>
|
||||
<para>由于HornetQ 2.0.0的限制,使用静态节点列表的集群不支持失效备援(failover)。要想支持失效备援,
|
||||
|
@ -499,7 +499,7 @@ ClientSession session2 = factory.createClientSession(...);</programlisting>
|
|||
关闭的。</para>
|
||||
<para>消息再分配功能可以基于地址进行配置,即在地址设置中指定再分配的延时。关于地址设置的更多信息,请参见
|
||||
<xref linkend="queue-attributes" />。</para>
|
||||
<para>下面是从<literal>hornetq-configuration.xml</literal>文件中提取的消息再分配的配置:</para>
|
||||
<para>下面是从<literal>activemq-configuration.xml</literal>文件中提取的消息再分配的配置:</para>
|
||||
<programlisting><address-settings>
|
||||
<address-setting match="jms.#">
|
||||
<redistribution-delay>0</redistribution-delay>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<section id="server.configuration">
|
||||
<title>服务器配置</title>
|
||||
<section>
|
||||
<title>hornetq-configuration.xml</title>
|
||||
<title>activemq-configuration.xml</title>
|
||||
<para>HornetQ主要核心服务器配置文件</para>
|
||||
<table frame="topbot" border="2">
|
||||
<title>服务器配置</title>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<section id="configuring-transports.acceptors">
|
||||
<title>接收器(Acceptor)</title>
|
||||
<para>接收器(<emphasis>acceptor</emphasis>)是 HornetQ 的传输层中最为重要的概念之一。首先
|
||||
介绍一下在文件<literal>hornetq-configuration.xml</literal>中是怎样定义一个接收器的:</para>
|
||||
介绍一下在文件<literal>activemq-configuration.xml</literal>中是怎样定义一个接收器的:</para>
|
||||
<programlisting>
|
||||
<acceptors>
|
||||
<acceptor name="netty">
|
||||
|
@ -49,7 +49,7 @@ org.apache.activemq.core.remoting.impl.netty.NettyAcceptorFactory
|
|||
<section id="configuring-transports.connectors">
|
||||
<title>连接器(Connectors)</title>
|
||||
<para>接收器定义的是如何在服务器端接收连接,而连接器则是定义客户端如何连接到服务器。</para>
|
||||
<para>以下是<literal>hornetq-configuration.xml</literal>文件中一个连接器配置的例子。</para>
|
||||
<para>以下是<literal>activemq-configuration.xml</literal>文件中一个连接器配置的例子。</para>
|
||||
<programlisting>
|
||||
<connectors>
|
||||
<connector name="netty">
|
||||
|
@ -77,7 +77,7 @@ org.apache.activemq.core.remoting.impl.netty.NettyAcceptorFactory
|
|||
<para>这一信息被定义在配置文件<literal
|
||||
>hornetq-jms.xml</literal>中的<literal>connector-ref</literal>单元下。下面这段配置
|
||||
就是从该配置文件中提取的相关部分,它展示了JMS的连接工厂是如何引用定义在配置文件<literal
|
||||
>hornetq-configuration.xml</literal>中的连接器的:</para>
|
||||
>activemq-configuration.xml</literal>中的连接器的:</para>
|
||||
<programlisting>
|
||||
<connection-factory name="ConnectionFactory">
|
||||
<connectors>
|
||||
|
@ -311,7 +311,7 @@ etc
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>我们还需要在服务器端加上一个特殊的Netty invm 接收器。</para>
|
||||
<para>下面是从<literal>hornetq-configuration.xml</literal>配置文件中摘取的定义接收器的配置部分:</para>
|
||||
<para>下面是从<literal>activemq-configuration.xml</literal>配置文件中摘取的定义接收器的配置部分:</para>
|
||||
<programlisting>
|
||||
<acceptors>
|
||||
|
||||
|
@ -327,7 +327,7 @@ etc
|
|||
</programlisting>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>最后我们需要在客户端配置连接器,也是在<literal>hornetq-configuration.xml</literal>文件中来做。如下所示:</para>
|
||||
<para>最后我们需要在客户端配置连接器,也是在<literal>activemq-configuration.xml</literal>文件中来做。如下所示:</para>
|
||||
<programlisting><connectors>
|
||||
|
||||
<connector name="netty-servlet">
|
||||
|
|
|
@ -132,7 +132,7 @@ at org.acme.yourproject.YourClass (YourClass.java:666)
|
|||
<para>为了避免远程模块的线程被长时间占用,数据包可以转给另外的一个线程池来处理。要注意这样做的增加了一些时间延迟。
|
||||
因此如果数据包处理耗时很少,还是由远程模块线程来处理较好。
|
||||
|
||||
要配置这样的异步连接很行任务,将<literal>hornetq-configuration.xml</literal>文件中的
|
||||
要配置这样的异步连接很行任务,将<literal>activemq-configuration.xml</literal>文件中的
|
||||
<literal>async-connection-execution-enabled</literal> 参数设为<literal>true</literal>
|
||||
(默认值是 <literal>true</literal>)。</para>
|
||||
</section>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
</note>
|
||||
<section>
|
||||
<title>桥的配置</title>
|
||||
<para>桥的配置在<literal>hornetq-configuration.xml</literal>文件中。让我们先看一个配置的例子
|
||||
<para>桥的配置在<literal>activemq-configuration.xml</literal>文件中。让我们先看一个配置的例子
|
||||
(它实际上出自bridge例子):</para>
|
||||
<programlisting>
|
||||
<bridge name="my-bridge">
|
||||
|
@ -71,7 +71,7 @@
|
|||
<note>
|
||||
<para>如果使用JMS,JMS的配置文件<literal
|
||||
>hornetq-jms.xml</literal>在核心配置文件<literal>
|
||||
hornetq-configuration.xml</literal>之后装载。所以如果你的桥要从JMS
|
||||
activemq-configuration.xml</literal>之后装载。所以如果你的桥要从JMS
|
||||
队列接收消息,就需要保证JMS队列同时要作为核心队列部署。具体方法可以参见
|
||||
bridge例子。</para>
|
||||
</note>
|
||||
|
@ -151,12 +151,12 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>connector-name</literal>。这个指的是核心配置文件<literal
|
||||
>hornetq-configuration.xml</literal>中定义的连接器的名字。桥使用
|
||||
>activemq-configuration.xml</literal>中定义的连接器的名字。桥使用
|
||||
这个连接器创建与目的服务器的连接。这个参数是必需指定的。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>backup-connector-name</literal>。这个可选参数同样指定一个在核心
|
||||
配置文件<literal>hornetq-configuration.xml</literal>中定义的连接器名字。
|
||||
配置文件<literal>activemq-configuration.xml</literal>中定义的连接器名字。
|
||||
当目的服务器出现故障时,或者正常退出但是参数<literal
|
||||
>failover-on-server-shutdown</literal>的值设为<literal
|
||||
>true</literal>时,桥使用这个参数指定的连接器通过失效备援(failover)连接
|
||||
|
@ -166,12 +166,12 @@
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>user</literal>。这个可选参数指定了桥在创建与远程服务器连接时所用的用户名。如果
|
||||
没有指定用户名,在配置文件<literal>hornetq-configuration.xml</literal>中
|
||||
没有指定用户名,在配置文件<literal>activemq-configuration.xml</literal>中
|
||||
<literal>cluster-user</literal>所定义的默认集群用户名将被使用。 </para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>password</literal>。这个可选的参数给出的是桥创建与远程服务器连接所使用的密码。
|
||||
如果没有指定密码,在配置文件<literal>hornetq-configuration.xml</literal>中
|
||||
如果没有指定密码,在配置文件<literal>activemq-configuration.xml</literal>中
|
||||
<literal>cluster-password</literal>所定义的默认集群密码将被使用。</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
地址中。</para>
|
||||
<para>由转发器与桥进行配合可以组成复杂的路由系统。在服务器中由一组转发器可以形成一个消息路由表。如果加上桥,就
|
||||
可以进一步形成一个分布式的可靠的消息路由网。</para>
|
||||
<para>转发器的配置在<literal>hornetq-configuration.xml</literal>中定义。可以配置零个或多个转发器。</para>
|
||||
<para>转发器的配置在<literal>activemq-configuration.xml</literal>中定义。可以配置零个或多个转发器。</para>
|
||||
<para>参见转发器的例子<xref linkend="divert-example" />,它展示了如何配置与使用转发器。</para>
|
||||
<para>让我们看一些转发器的配置例子:</para>
|
||||
<section>
|
||||
|
|
|
@ -84,9 +84,9 @@ message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);
|
|||
<para>缓存的大小是固定的,循环使用。如果缓存的最大可以存放<literal
|
||||
>n</literal>条记录,那么<literal>n + 1</literal>条记录将会覆盖缓存中的第<literal>0</literal>
|
||||
条记录。</para>
|
||||
<para>缓存的最大容量在文件<literal>hornetq-configuration.xml</literal>中配置,参数是<literal
|
||||
<para>缓存的最大容量在文件<literal>activemq-configuration.xml</literal>中配置,参数是<literal
|
||||
>id-cache-size</literal>。默认值是<literal>2000</literal>条记录。</para>
|
||||
<para>在文件<literal>hornetq-configuration.xml</literal>中还可以配置将缓存持久化到磁盘。相应的参数
|
||||
<para>在文件<literal>activemq-configuration.xml</literal>中还可以配置将缓存持久化到磁盘。相应的参数
|
||||
是<literal>persist-id-cache</literal>。如果设为<literal>true</literal>,则每加入一个id就将
|
||||
它同时保存到磁盘中。默认值是<literal>true</literal>。</para>
|
||||
<note>
|
||||
|
@ -98,7 +98,7 @@ message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);
|
|||
<title>桥与重复检测</title>
|
||||
<para>核心桥可以通过配置在将消息发向目的服务器之前自动向消息中添加唯一的id(如果消息中还没有的话)。这样
|
||||
如果目的服务器发生故障,核心桥在重新发送消息时,目的服务器就可以自动检测重复的消息,发现重复消息即丢弃。</para>
|
||||
<para>要配置核心桥的自动添加id的功能,需要在<literal>hornetq-configuration.xml</literal>中桥的配置
|
||||
<para>要配置核心桥的自动添加id的功能,需要在<literal>activemq-configuration.xml</literal>中桥的配置
|
||||
里将<parameter>use-duplicate-detection</parameter>参数设为<literal>true</literal>。</para>
|
||||
<para>这个参数的默认值是<literal>true</literal>。</para>
|
||||
<para>关于核心桥的配置和使用,参见<xref linkend="core-bridges" />。</para>
|
||||
|
@ -106,7 +106,7 @@ message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);
|
|||
<section>
|
||||
<title>重复检测与集群连接</title>
|
||||
<para>集群连接内部使用核心桥在节点间可靠地移动消息,因此它们的核心桥也可以配置自动添加id的功能。</para>
|
||||
<para>配置的方法是在<literal>hornetq-configuration.xml</literal>文件中将集群连接的
|
||||
<para>配置的方法是在<literal>activemq-configuration.xml</literal>文件中将集群连接的
|
||||
<parameter>use-duplicate-detection</parameter>参数设为<literal>true</literal>。</para>
|
||||
<para>这个参数的默认值是<literal>true</literal>。</para>
|
||||
<para>有关集群连接配置的更多信息,请参见<xref linkend="clusters"/>。</para>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>预定义的队列。当在<literal
|
||||
>hornetq-configuration.xml</literal> 或 <literal>hornetq-jms.xml</literal>定义
|
||||
>activemq-configuration.xml</literal> 或 <literal>hornetq-jms.xml</literal>定义
|
||||
队列时,可以使用过滤器。只有与过滤器表达式相匹配的消息才能达到该队列中。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
|
|
@ -49,10 +49,10 @@
|
|||
<graphic fileref="images/ha-replicated-store.png" align="center"/>
|
||||
<section id="configuring.live.backup">
|
||||
<title>配置</title>
|
||||
<para>首先在主服务器的 <literal>hornetq-configuration.xml</literal>文件中配置备份服务器。
|
||||
<para>首先在主服务器的 <literal>activemq-configuration.xml</literal>文件中配置备份服务器。
|
||||
配置的参数是<literal>backup-connector-ref</literal>。这个参数指向一个连接器。这个连接器
|
||||
也在主服务器上配置。它定义了如何与备份服务器建立连接。</para>
|
||||
<para>下面就是一个在<literal>hornetq-configuration.xml</literal>文件中的例子:</para>
|
||||
<para>下面就是一个在<literal>activemq-configuration.xml</literal>文件中的例子:</para>
|
||||
<programlisting>
|
||||
<backup-connector-ref connector-name="backup-connector"/>
|
||||
|
||||
|
@ -113,7 +113,7 @@
|
|||
<graphic fileref="images/ha-shared-store.png" align="center"/>
|
||||
<section id="ha/mode.shared.configuration">
|
||||
<title>配置</title>
|
||||
<para>要使用存贮共享模式,在两个服务器的配置文件<literal>hornetq-configuration.xml</literal>
|
||||
<para>要使用存贮共享模式,在两个服务器的配置文件<literal>activemq-configuration.xml</literal>
|
||||
中将作如下设置:</para>
|
||||
<programlisting>
|
||||
<shared-store>true<shared-store>
|
||||
|
|
|
@ -48,7 +48,7 @@ public interface Interceptor
|
|||
</section>
|
||||
<section>
|
||||
<title>配置拦截器</title>
|
||||
<para>拦截器的配置在<literal>hornetq-configuration.xml</literal>文件中:</para>
|
||||
<para>拦截器的配置在<literal>activemq-configuration.xml</literal>文件中:</para>
|
||||
<programlisting>
|
||||
<remoting-interceptors>
|
||||
<class-name>org.apache.activemq.jms.example.LoginInterceptor</class-name>
|
||||
|
|
|
@ -433,7 +433,7 @@
|
|||
<section id="management.jmx.configuration">
|
||||
<title>配置JMX</title>
|
||||
<para>默认情况下HornetQ的JMX是打开的。将<literal
|
||||
>hornetq-configuration.xml</literal>文件中的<literal
|
||||
>activemq-configuration.xml</literal>文件中的<literal
|
||||
>jmx-management-enabled</literal>设置为<literal>false</literal>就可以关闭JMX:</para>
|
||||
<programlisting>
|
||||
<!-- false to disable JMX management for HornetQ -->
|
||||
|
@ -445,7 +445,7 @@
|
|||
>Java管理指南</ulink>来配置服务器的远程管理(系统变量必须在<literal>run.sh</literal>或<literal>run.bat</literal>中定义)。</para>
|
||||
</note>
|
||||
<para>HornetQ默认使用JMX域名"org.apache.activemq"。如果要用一个MBeanServer管理多个HornetQ服务器,可以将每个HornetQ
|
||||
服务器配置成不同的JMX域。方法就是在<literal>hornetq-configuration.xml</literal>文件中设置<literal>jmx-domain</literal>:</para>
|
||||
服务器配置成不同的JMX域。方法就是在<literal>activemq-configuration.xml</literal>文件中设置<literal>jmx-domain</literal>:</para>
|
||||
<programlisting>
|
||||
<!-- use a specific JMX domain for HornetQ MBeans -->
|
||||
<jmx-domain>my.org.apache.activemq</jmx-domain>
|
||||
|
@ -535,7 +535,7 @@
|
|||
<section id="management.core.configuration">
|
||||
<title>配置核心管理</title>
|
||||
<para>管理地址的配置在文件<literal
|
||||
>hornetq-configuration.xml</literal>中:</para>
|
||||
>activemq-configuration.xml</literal>中:</para>
|
||||
<programlisting>
|
||||
<management-address>jms.queue.hornetq.management</management-address>
|
||||
</programlisting>
|
||||
|
@ -641,7 +641,7 @@
|
|||
<para>由于是标准的核心消息,使用选择器还能够过滤掉一部分通知而只接收感兴趣的通知。</para>
|
||||
<section id="management.notifications.core.configuration">
|
||||
<title>配置核心管理通知地址</title>
|
||||
<para>用来发送管理通知的地址在文件中<literal>hornetq-configuration.xml</literal>配置:</para>
|
||||
<para>用来发送管理通知的地址在文件中<literal>activemq-configuration.xml</literal>配置:</para>
|
||||
<programlisting>
|
||||
<management-notification-address>hornetq.notifications</management-notification-address>
|
||||
</programlisting>
|
||||
|
@ -733,12 +733,12 @@
|
|||
<section id="configuring.message.counters">
|
||||
<title>配置消息计数器</title>
|
||||
<para>默认的消息计数器是关闭的,因为它需要占用一些内存。</para>
|
||||
<para>要打开消息计数器,编辑<literal>hornetq-configuration.xml</literal>文件将其设为<literal>true</literal>:</para>
|
||||
<para>要打开消息计数器,编辑<literal>activemq-configuration.xml</literal>文件将其设为<literal>true</literal>:</para>
|
||||
<programlisting>
|
||||
<message-counter-enabled>true</message-counter-enabled>
|
||||
</programlisting>
|
||||
<para>消息计数器会保存队列的历史数据(默认是10天)。它以一定间隔(默认10秒一次)对每个队列进行扫描。
|
||||
如果消息计数器打开,这些参数可以在<literal>hornetq-configuration.xml</literal>文件中进行调整:</para>
|
||||
如果消息计数器打开,这些参数可以在<literal>activemq-configuration.xml</literal>文件中进行调整:</para>
|
||||
<programlisting>
|
||||
<!-- keep history for a week -->
|
||||
<message-counter-max-day-history>7</message-counter-max-day-history>
|
||||
|
|
|
@ -62,7 +62,7 @@ producer.setTimeToLive(5000);
|
|||
<section id="configuring.expiry.reaper">
|
||||
<title>配置过期回收线程</title>
|
||||
<para>HornetQ有一个回收线程定期地检查队列中的消息,目的是发现是否有消息过期。</para>
|
||||
<para>在<literal>hornetq-configuration.xml</literal>文件中可以对回收线程进行配置,参数如下:</para>
|
||||
<para>在<literal>activemq-configuration.xml</literal>文件中可以对回收线程进行配置,参数如下:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>message-expiry-scan-period</literal></para>
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
这些节点的消息组处理器就会协同作出决定该如何对这个消息进行路由。</para>
|
||||
<para>消息组处理器有两种:本地消息组处理器和远程消息组处理器。在一个集群中要选择一个节点作为本地消息组处理器的
|
||||
节点,集群中所有其它的节点都持有远程消息组处理器。在集群中由本地消息组处理器最終决定消息怎样路由,其它的远程
|
||||
处理器配合本地处理器完成决策。消息组处理器的配置在<emphasis role="italic">hornetq-configuration.xml</emphasis>
|
||||
处理器配合本地处理器完成决策。消息组处理器的配置在<emphasis role="italic">activemq-configuration.xml</emphasis>
|
||||
文件中,下面就是一个例子:
|
||||
<programlisting> <grouping-handler name="my-grouping-handler">
|
||||
<type>LOCAL</type>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<section id="paging.main.config">
|
||||
<title>配置</title>
|
||||
<para>你可以配置分页转存文件夹的位置。</para>
|
||||
<para>在主配置文件<literal>hornetq-configuration.xml</literal>)中
|
||||
<para>在主配置文件<literal>activemq-configuration.xml</literal>)中
|
||||
可以定义全局的分页转发参数。</para>
|
||||
<programlisting><configuration xmlns="urn:activemq"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
|
@ -79,7 +79,7 @@
|
|||
</note>
|
||||
<section>
|
||||
<title>配置</title>
|
||||
<para>有关分页转存的配置在主要配置文件(<literal>hornetq-configuration.xml</literal>)
|
||||
<para>有关分页转存的配置在主要配置文件(<literal>activemq-configuration.xml</literal>)
|
||||
的地址设置的部分内。</para>
|
||||
<programlisting> <address-settings>
|
||||
<address-setting match="jms.someaddress">
|
||||
|
|
|
@ -101,21 +101,21 @@
|
|||
<xref linkend="pre-acknowledge"/>。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>关闭安全。将<literal>hornetq-configuration.xml</literal>文件中的<literal>security-enabled</literal>
|
||||
<para>关闭安全。将<literal>activemq-configuration.xml</literal>文件中的<literal>security-enabled</literal>
|
||||
参数设为<literal>false</literal>以关闭安全。这可以带来一些性能的提高。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>关闭持久化。如果不你不需要消息持久化,可以将<literal>hornetq-configuration.xml</literal>
|
||||
<para>关闭持久化。如果不你不需要消息持久化,可以将<literal>activemq-configuration.xml</literal>
|
||||
文件中的<literal>persistence-enabled</literal>参数设为false来完全关闭持久功能。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>采用延迟方式事务同步。将<literal>hornetq-configuration.xml</literal>文件中的<literal
|
||||
<para>采用延迟方式事务同步。将<literal>activemq-configuration.xml</literal>文件中的<literal
|
||||
>journal-sync-transactional</literal>参数设为<literal>false</literal>可以得到
|
||||
更好的事务持久化的性能。但是这样做可能会造成在发生故障时事务的丢失。有关详细的说明参见
|
||||
<xref linkend="send-guarantees"/>。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>采用延迟方式非事务同步。将<literal>hornetq-configuration.xml</literal>文件中的<literal
|
||||
<para>采用延迟方式非事务同步。将<literal>activemq-configuration.xml</literal>文件中的<literal
|
||||
>journal-sync-non-transactional</literal>参数设为<literal>false</literal>可以得到
|
||||
更好的非事务持久化的性能。但是这样做可能会造成在发生故障时持久消息的丢失。有关详细的说明参见
|
||||
<xref linkend="send-guarantees"/>。</para>
|
||||
|
@ -169,7 +169,7 @@ serveruser hard nofile 20000
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>利用参数<literal>batch-delay</literal>并将参数<literal>direct-deliver</literal>
|
||||
设为false来提高小消息的处理效率。HornetQ在其<literal>hornetq-configuration.xml</literal>
|
||||
设为false来提高小消息的处理效率。HornetQ在其<literal>activemq-configuration.xml</literal>
|
||||
中预先配置了一个连接器/接受器对(<literal>netty-throughput</literal>),并且在
|
||||
<literal>hornetq-jms.xml</literal>中配置了一个JMS连接工厂(
|
||||
<literal>ThroughputConnectionFactory</literal>)。它们可以用在小消息的处理应用中以提
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
<section id="configuring.bindings.journal">
|
||||
<title>配置绑定日志</title>
|
||||
<para>绑定日志的配置参数在 <literal
|
||||
>hornetq-configuration.xml</literal>文件中。</para>
|
||||
>activemq-configuration.xml</literal>文件中。</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>bindings-directory</literal></para>
|
||||
|
@ -225,7 +225,7 @@
|
|||
<section id="persistence.enabled">
|
||||
<title>配置HornetQ不使用持久化</title>
|
||||
<para>在一些情况下消息系统并不需要持久化。这时可以配置HornetQ不使用持久层。只要将<literal
|
||||
>hornetq-configuration.xml</literal>文件中的<literal>persistence-enabled</literal>
|
||||
>activemq-configuration.xml</literal>文件中的<literal>persistence-enabled</literal>
|
||||
参数设为<literal>false</literal>即可。 </para>
|
||||
<para>注意如果你将该参数设为 false来关闭持久化,就意味着所有的绑定数据、消息数据、超大消息数据、重复ID缓冲以及转移(paging)数据都将不会被持久。</para>
|
||||
</section>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<para>selector单元定义的是队列的选择器。定义了选择器后,只有与选择器相匹配的消息才能被加到队列中。
|
||||
这是一个可选项。如果没有定义选择器,队列将默认没有选择器。</para>
|
||||
<para>durable定义了队列是否是一个可持久的队列。这也是一个可选项,默认值是true。</para>
|
||||
<para>如果在核心层定义队列,则使用<literal>hornetq-configuration.xml</literal>文件。
|
||||
<para>如果在核心层定义队列,则使用<literal>activemq-configuration.xml</literal>文件。
|
||||
下面是一个例子:</para>
|
||||
<programlisting><queues>
|
||||
<queue name="jms.queue.selectorQueue">
|
||||
|
@ -73,7 +73,7 @@
|
|||
</section>
|
||||
<section id="queue-attributes.address-settings">
|
||||
<title>通过地址设置来配置队列属性</title>
|
||||
<para>有些属性的定义中地址可以使用通配符。下面是<literal>hornetq-configuration.xml</literal>
|
||||
<para>有些属性的定义中地址可以使用通配符。下面是<literal>activemq-configuration.xml</literal>
|
||||
文件中的一个<literal>address-setting</literal>的配置例子。</para>
|
||||
<programlisting><address-settings>
|
||||
<address-setting match="jms.queue.exampleQueue">
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<!-- ============================================================================= -->
|
||||
<chapter id="security">
|
||||
<title>安全</title>
|
||||
<para>本章讲述HornetQ的安全机制以及如何配置它。要完全关闭安全,只要将<literal>hornetq-configuration.xml</literal>
|
||||
<para>本章讲述HornetQ的安全机制以及如何配置它。要完全关闭安全,只要将<literal>activemq-configuration.xml</literal>
|
||||
文件中的<literal>security-enabled</literal>参数设为false即可。</para>
|
||||
<para>出于性能的考虑,安全在HornetQ中被缓存一定的时间。要改变这个时间,需要设置参数
|
||||
<literal>security-invalidation-interval</literal>,单位是毫秒。默认值是
|
||||
|
@ -55,8 +55,8 @@
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>每个权限有一个角色表。如果用户的角色在这个表中,那么它将拥有这个权限。</para>
|
||||
<para>让我们看个简单的例子。下面是从<literal>hornetq-configuration.xml</literal>文件或
|
||||
<literal>hornetq-queues.xml</literal>文件中提取的安全设置:</para>
|
||||
<para>让我们看个简单的例子。下面是从<literal>activemq-configuration.xml</literal>文件或
|
||||
<literal>activemq-queues.xml</literal>文件中提取的安全设置:</para>
|
||||
<programlisting>
|
||||
<security-setting match="globalqueues.europe.#">
|
||||
<permission type="createDurableQueue" roles="admin"/>
|
||||
|
@ -108,7 +108,7 @@
|
|||
<section>
|
||||
<title>基本用户身份信息(Credentials)</title>
|
||||
<para>HornetQ自带一个安全管理器(security manager)可以从xml文件中读取用户身份信息,即用户名、
|
||||
密码、角色信息。该xml文件名为<literal>hornetq-users.xml</literal>,它必须要在classpath中。</para>
|
||||
密码、角色信息。该xml文件名为<literal>activemq-users.xml</literal>,它必须要在classpath中。</para>
|
||||
<para>如果你要使用这个安全管理器,就将用户名,密码,角色等信息加入到这个文件中。</para>
|
||||
<para>让我们看一个例子:</para>
|
||||
<programlisting>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
当它的值是<literal>true</literal>时,服务器将保证在向客户端发回响应时,事务的处理信息
|
||||
已经被保存到了磁盘中。默认值是<literal>true</literal>。</para>
|
||||
<para>显然将这个参数设为<literal>false</literal>可以提高性能,但是要以牺牲事务的持久性为代价。</para>
|
||||
<para>这个参数在 <literal>hornetq-configuration.xml</literal>文件中。</para>
|
||||
<para>这个参数在 <literal>activemq-configuration.xml</literal>文件中。</para>
|
||||
</section>
|
||||
<section id="non-transactional-sends">
|
||||
<title>非事务性消息发送的保证</title>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
它内部使用的是一个 <literal
|
||||
>java.util.concurrent.ScheduledThreadPoolExecutor</literal>实例。</para>
|
||||
<para>最大线程数可以在<literal
|
||||
>hornetq-configuration.xml</literal>文件中进行配置,参数名是<literal
|
||||
>activemq-configuration.xml</literal>文件中进行配置,参数名是<literal
|
||||
>scheduled-thread-pool-max-size</literal>。默认值是<literal>5</literal>。
|
||||
通常这个线程池不需要很大数量的线程。</para>
|
||||
</section>
|
||||
|
@ -46,7 +46,7 @@
|
|||
<title>服务器通用线程池</title>
|
||||
<para>服务器端绝大部分的异步操作都是由这个线程池来完成的。在它的内部使用了一个<literal
|
||||
>java.util.concurrent.ThreadPoolExecutor</literal>的实例。</para>
|
||||
<para>这个线程池的最大线程数在<literal>hornetq-configuration.xml</literal>文件中配置,相应的参数名为<literal
|
||||
<para>这个线程池的最大线程数在<literal>activemq-configuration.xml</literal>文件中配置,相应的参数名为<literal
|
||||
>thread-pool-max-size</literal>。</para>
|
||||
<para>如果将参数设为<literal>-1</literal>则表示该线程池没有线程限制。也就是说当线程不够用时,线程池就
|
||||
会创建新的线程。当任务不多时,空闲的线程将会超时并被关闭。</para>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
有的时候一个事务开始后,最終被忘记。有时客户端崩溃并且再也不能恢复,这样的话该事务就一直存在下去。</para>
|
||||
<para>为了解决这个问题,可以配置HornetQ来扫描过期的事务,并且将它们回滚。默认值是3000000毫秒(5分钟)。
|
||||
它表示任何超过5分钟的事务都将被删除。这个超时对应的参数是<literal
|
||||
>transaction-timeout</literal>,它在配置文件<literal>hornetq-configuration.xml</literal>中(单位毫秒)。
|
||||
>transaction-timeout</literal>,它在配置文件<literal>activemq-configuration.xml</literal>中(单位毫秒)。
|
||||
参数<literal>transaction-timeout-scan-period</literal>定义了HornetQ扫描过期事务的间隔。</para>
|
||||
<para>注意HornetQ不会单方面回滚一个已经处于准备状态的XA事务。如果你认为这些事务永远不会被事务管理器(transaction manager)
|
||||
来处理的话,你必须通过管理接口来进行回滚。</para>
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<literal>false</literal>而不是<literal>true</literal>。 </para>
|
||||
<para>这样是不符合严格的JMS要求的。因此HornetQ允许在消息传递前更新传递计数。但是默认不这样做,目的是优先考虑
|
||||
了它对性能的影响。</para>
|
||||
<para>要想打开传递计数更新功能,将<literal>hornetq-configuration.xml</literal>文件中的
|
||||
<para>要想打开传递计数更新功能,将<literal>activemq-configuration.xml</literal>文件中的
|
||||
<literal>persist-delivery-count-before-delivery</literal>设为<literal>true</literal>即可:</para>
|
||||
<programlisting>
|
||||
<persist-delivery-count-before-delivery>true</persist-delivery-count-before-delivery>
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
<note>
|
||||
<para>在JMS ConnectionFactory的配置中引用了一个名为 <literal>netty</literal>的<literal>connector</literal>。
|
||||
它实际上指向的是HornetQ核心中部署的一个连接器(connector)。它的配置在HornetQ的核心配置文件
|
||||
<literal>hornetq-configuration.xml</literal> 中。它定义了采用何种传输与服务器连接。</para>
|
||||
<literal>activemq-configuration.xml</literal> 中。它定义了采用何种传输与服务器连接。</para>
|
||||
</note>
|
||||
</section>
|
||||
<section id="using-jms.configure.factory.types">
|
||||
|
|
|
@ -85,18 +85,18 @@
|
|||
各种bean,以及它们之间的依赖关系。HornetQ的bean都是一些POJO。是JBoss Microcontainer保证了这些bean的正确装载和运行。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>hornetq-configuration.xml</literal>。这个是HornetQ的主要的配置文件。
|
||||
<para><literal>activemq-configuration.xml</literal>。这个是HornetQ的主要的配置文件。
|
||||
其中的所有参数在<xref linkend="configuration-index"/>中给出了解释. 在 <xref
|
||||
linkend="usingserver.mainconfig"/> 也有更多的相关信息。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>hornetq-queues.xml</literal>。这个文件里包含了预定义的queue以及它们的配置,包括安全设置。
|
||||
这是一个可选的文件,里面所有的内容都可以放在 <literal>hornetq-configuration.xml</literal>文件中。
|
||||
<para><literal>activemq-queues.xml</literal>。这个文件里包含了预定义的queue以及它们的配置,包括安全设置。
|
||||
这是一个可选的文件,里面所有的内容都可以放在 <literal>activemq-configuration.xml</literal>文件中。
|
||||
在默认的配置文件目录下并没有这个文件。HornetQ之所以提供这个文件是为了用户便于管理他们的queue。在classpath中
|
||||
允许包含多个 <literal>hornetq-queues.xml</literal> 文件。所有的这些文件都会被加载。</para>
|
||||
允许包含多个 <literal>activemq-queues.xml</literal> 文件。所有的这些文件都会被加载。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>hornetq-users.xml</literal>。用户信息文件。HornetQ本身实现了一个基本的
|
||||
<para><literal>activemq-users.xml</literal>。用户信息文件。HornetQ本身实现了一个基本的
|
||||
安全管理器(security manager),它从这个文件内读取用户的安全信息,如用户名,密码和角色。
|
||||
想了解更多关于安全的信息,参见 <xref linkend="security"/>。</para>
|
||||
</listitem>
|
||||
|
@ -115,7 +115,7 @@
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
<note>
|
||||
<para>如果在<literal>hornetq-configuration.xml</literal>文件中将<literal>file-deployment-enabled</literal> 参数
|
||||
<para>如果在<literal>activemq-configuration.xml</literal>文件中将<literal>file-deployment-enabled</literal> 参数
|
||||
定义为false,则HornetQ将不会加载其它的配置文件。这个参数的默认值是true。</para>
|
||||
</note>
|
||||
<para>所有配置文件中的参数都可以用系统变量来定义其值。以下用一个connector的配置来说明:</para>
|
||||
|
@ -222,7 +222,7 @@
|
|||
配置信息。有些情况下(如嵌入式HornetQ)你可以将它定义为其它对象,以便用其它方法获得配置信息。</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Security Manager. 可配置的安全管理器。默认的安全管理器使用 <literal>hornetq-users.xml</literal> 文件中的配置信息。
|
||||
<para>Security Manager. 可配置的安全管理器。默认的安全管理器使用 <literal>activemq-users.xml</literal> 文件中的配置信息。
|
||||
它也可以配置为一个JAAS的安全管理器。当HornetQ运行于JBoss应用服务器中时,它还可以配置为JBoss的安全管理器,以达到更紧密的集成。
|
||||
如果不需要安全管理,你也可以将它删除。</para>
|
||||
</listitem>
|
||||
|
@ -303,7 +303,7 @@
|
|||
</section>
|
||||
<section id="usingserver.mainconfig">
|
||||
<title>主配置文件</title>
|
||||
<para>HornetQ 核心服务的配置保存在 <literal>hornetq-configuration.xml</literal>文件中。
|
||||
<para>HornetQ 核心服务的配置保存在 <literal>activemq-configuration.xml</literal>文件中。
|
||||
FileConfiguration bean 读取这个文件来对消息服务器进行配置。</para>
|
||||
<para>HornetQ有很多的配置参数。采用默认的配置在绝大多数情况下可以很好的运行。事实上每一个参数都有默认的处理,因此一个只包含有一个空
|
||||
的<literal>configuration</literal>的配置文件是一个有效的文件。对各个参数的解释贯穿于本手册。你还可参参照
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<para>用JMS的术语来说,这个功能就是允许创建“话题组”(topic hierarchy)。</para>
|
||||
</note>
|
||||
<para>要使用本功能需要将<literal>wild-card-routing-enabled</literal>属性设置为<literal>true</literal>。
|
||||
这个属性在 <literal>hornetq-configuration.xml</literal> 文件中。默认值是<literal>true</literal>。</para>
|
||||
这个属性在 <literal>activemq-configuration.xml</literal> 文件中。默认值是<literal>true</literal>。</para>
|
||||
<para>关于通配符的语法参见<xref
|
||||
linkend="wildcard-syntax" /> 章及 <xref
|
||||
linkend="topic-hierarchy-example" />。</para>
|
||||
|
|
|
@ -10,7 +10,7 @@ grant {
|
|||
// Note2: Which of the following two java.io.FilePermission is necessary depends on the exact Maven command
|
||||
permission java.io.FilePermission "${user.dir}/hornetq-core-client/target/classes/-", "read";
|
||||
permission java.io.FilePermission "${user.dir}/hornetq-core-client/target/hornetq-core-client-${project.version}.jar", "read";
|
||||
permission java.util.PropertyPermission "hornetq.version.property.filename", "read";
|
||||
permission java.util.PropertyPermission "activemq.version.property.filename", "read";
|
||||
permission java.util.PropertyPermission "io.netty.eventLoopThreads", "read";
|
||||
permission java.util.PropertyPermission "io.netty.noUnsafe", "read";
|
||||
permission java.util.PropertyPermission "io.netty.tryUnsafe", "read";
|
||||
|
|
|
@ -141,11 +141,12 @@
|
|||
<configuration>
|
||||
<skipTests>${skipJmsTests}</skipTests>
|
||||
<excludes>
|
||||
<exclude>org.apache.activemq/jms/tests/XARecoveryTest.java</exclude>
|
||||
<exclude>org.apache.activemq/jms/tests/XAResourceRecoveryTest.java</exclude>
|
||||
<exclude>org.apache.activemq/jms/tests/XATest.java</exclude>
|
||||
<exclude>org.apache.activemq/jms/tests/stress/*.java</exclude>
|
||||
<exclude>org.apache.activemq/jms/tests/manual/**</exclude>
|
||||
<!-- TODO: Can we remove XATests? Can we remove them all? -->
|
||||
<exclude>org/apache/activemq/jms/tests/XARecoveryTest.java</exclude>
|
||||
<exclude>org/apache/activemq/jms/tests/XAResourceRecoveryTest.java</exclude>
|
||||
<exclude>org/apache/activemq/jms/tests/XATest.java</exclude>
|
||||
<exclude>org/apache/activemq/jms/tests/stress/*.java</exclude>
|
||||
<exclude>org/apache/activemq/jms/tests/manual/**</exclude>
|
||||
</excludes>
|
||||
<argLine>${activemq-surefire-argline}</argLine>
|
||||
</configuration>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<configuration xmlns="urn:activemq"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq ../../../src/schema/activemq-configuration.xsd">
|
||||
xsi:schemaLocation="urn:activemq ../../../src/schema/activemq-configuration.xsd">
|
||||
|
||||
<!-- Connectors -->
|
||||
<connectors>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<configuration xmlns="urn:activemq"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-jms.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-jms.xsd">
|
||||
|
||||
<connection-factory name="ConnectionFactory">
|
||||
<connectors>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<configuration xmlns="urn:activemq"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq ../../../src/schemas/activemq-configuration.xsd ">
|
||||
xsi:schemaLocation="urn:activemq ../../../src/schemas/activemq-configuration.xsd ">
|
||||
|
||||
<security-settings>
|
||||
<security-setting match="#">
|
|
@ -1,5 +1,5 @@
|
|||
<configuration xmlns="urn:activemq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:hornetq /schema/activemq-users.xsd">
|
||||
xsi:schemaLocation="urn:activemq /schema/activemq-users.xsd">
|
||||
<!-- the default user. this is used where username is null-->
|
||||
<defaultuser name="guest" password="guest">
|
||||
<role name="guest"/>
|
||||
|
|
|
@ -75,8 +75,6 @@ public class ManifestTest extends UnitTestCase
|
|||
Attributes attrs = manifest.getMainAttributes();
|
||||
|
||||
Assert.assertEquals(meta.getProviderVersion(), attrs.getValue("ActiveMQ-Version"));
|
||||
//TODO fix this
|
||||
Assert.assertEquals("https://svn.jboss.org/repos/hornetq/branches/Branch_2_2_EAP", attrs.getValue("HornetQ-SVN-URL"));
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
|
|
@ -298,7 +298,7 @@ public class ActiveMQResourceAdapterConfigTest extends UnitTestCase
|
|||
" <config-property>\n" +
|
||||
" <description>Add a new managed connection factory</description>\n" +
|
||||
" <config-property-name>ManagedConnectionFactory</config-property-name>\n" +
|
||||
" <config-property-type>org.apache.activemq.ra.ActiveMQManagedConnectionFactory</config-property-type>\n" +
|
||||
" <config-property-type>org.apache.activemq.ra.ActiveMQRAManagedConnectionFactory</config-property-type>\n" +
|
||||
" <config-property-value></config-property-value>\n" +
|
||||
" </config-property>" +
|
||||
" <config-property>\n" +
|
||||
|
@ -437,7 +437,7 @@ public class ActiveMQResourceAdapterConfigTest extends UnitTestCase
|
|||
assertEquals("setter " + configPropertyName + " has no type set", elementsByTagName.getLength(), 1);
|
||||
Node configPropertyTypeNode = elementsByTagName.item(0);
|
||||
String configPropertyTypeName = configPropertyTypeNode.getTextContent();
|
||||
assertEquals(c.getName(), configPropertyTypeName);
|
||||
assertEquals(configPropertyTypeName, c.getName());
|
||||
}
|
||||
if (!methodList.isEmpty())
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue