Wildfly - 10个docs \ schema与实际配置断开连接 - ActiveMQ

时间:2017-07-21 09:02:46

标签: activemq wildfly

我试图找出一种有效的配置方式

  

子系统xmlns =" urn:jboss:domain:messaging-activemq:1.0"

standalone.xml中的ActiveMQ子系统。 我发现这个子系统上的widlfly 10文档足以让你入门。

但是当你想进一步调整Active MQ行为时显然缺乏。 (例如http://activemq.apache.org/how-do-i-configure-10s-of-1000s-of-queues-in-a-single-broker-.html

为了理解ActiveMQ的优缺点,我更喜欢并尝试使用活动MQ作为文档的主要来源。

最后,我的期望是,我应该能够找到一种方法,以某种方式配置wildfly standalone.xml配置中的文档中解释的活动mq功能。 Wildfly充当配置ActiveMQ的接口,但它并不限制我可以配置的内容。

这是我正在努力的部分。

一旦我阅读了ActiveMQ文档,我就想要测试的功能有所了解。然后我去寻找如何更新我的standalone.xml以适当地配置jms代理,我需要寻找允许我这样做的XML元素和属性。

所以有了这个背景,这里有一些问题:

(a)为什么是: docs \ schema \ jboss-as-messaging_1_0.xsd to jboss-as-messaging_3_0.xsd

与必须实际写入standalone.xml的配置不一致。 例如,如果我们查看地址设置元素。 在Wildfly 10官方文档中以及我的机器本地文档中,可以通过atrributes配置此元素,如下所示。

<address-setting name="#" slow-consumer-threshold="20" message-counter-history-day-limit="10" page-size-bytes="2097152" max-size-bytes="10485760" max-delivery-attempts="-1" expiry-address="jms.queue.ExpiryQueue" dead-letter-address="jms.queue.DLQ"/>

另一方面,如果我们查看子系统的XSD,地址设置类型应该由元素而不是属性组成。

<xs:complexType name="address-settingType">
   <xs:all>
      <xs:element maxOccurs="1" minOccurs="0" name="dead-letter-address" type="xs:string" />
      <xs:element maxOccurs="1" minOccurs="0" name="expiry-address" type="xs:string" />
      <xs:element maxOccurs="1" minOccurs="0" name="redelivery-delay" type="xs:long" />
      <xs:element maxOccurs="1" minOccurs="0" name="max-delivery-attempts" type="xs:int" />
      <xs:element maxOccurs="1" minOccurs="0" name="max-size-bytes" type="xs:long" />
      <xs:element maxOccurs="1" minOccurs="0" name="page-size-bytes" type="xs:long" />
      <xs:element maxOccurs="1" minOccurs="0" name="page-max-cache-size" type="xs:int" />
      <xs:element maxOccurs="1" minOccurs="0" name="address-full-policy" type="addressFullMessagePolicyType" />
      <xs:element maxOccurs="1" minOccurs="0" name="message-counter-history-day-limit" type="xs:int" />
      <xs:element maxOccurs="1" minOccurs="0" name="last-value-queue" type="xs:boolean" />
      <xs:element maxOccurs="1" minOccurs="0" name="redistribution-delay" type="xs:long" />
      <xs:element maxOccurs="1" minOccurs="0" name="send-to-dla-on-no-route" type="xs:boolean" />
   </xs:all>
   <xs:attribute name="match" type="xs:string" use="required"/>
</xs:complexType>

这对我来说是一个问题。 因为如果找不到可以配置的每个属性的文档页面,那么我希望在那里找到具有此技术级别详细信息的XSD。然后,我可以独立于如何完成日期或详细的文档,找到我的方式来设置我想要启用/禁用或调整的功能。

但是如果我发现的XSD与我最终在stanadalone.xml上编写的配置不一致并且工作正常,我真的不相信XSD是我可以配置的功能的可靠信息源。 所以,一方面,我在元素上配置属性。另一方面,我有一个XSD告诉我应该使用带有元素的元素。 这是什么?

(b)下一个问题是关于可以做的配置范围。 我想知道我们通过standalone.xml配置ActiveMQ子系统的能力是否有限,或者我们是否具备配置子系统的全部功能。

例如,如果您查看每个目标策略的ActiveMQ页面。 http://activemq.apache.org/per-destination-policies.html

可以配置以下功能: &#34; optimizedDispatch&#34; 如果要在活动MQ代理中配置数百个队列,则ActiveMQ建议使用哪个。 为了优化调度策略寻找XSD,我发现元素或属性的形式都没有提到这个配置元素。 我是否可以在目的地上实际配置此行为?

我想知道通过wildfly子系统配置调整ActiveMQ可以走多远?

ActiveMQ支持的内容与野生动物站独立xml支持的配置之间的界限允许我进行调整。

有人能为这两个问题带来一些启示吗?

最诚挚的问候。

1 个答案:

答案 0 :(得分:1)

WildFly附带ActiveMQ Artemis作为消息系统,而不是旧的和经典的ActiveMQ。

这两个经纪人是不同的:

您可以在以下网站找到ActiveMQ Artemis文档:

WildFly还有一些文档: