为什么 Red Hat AMQ 7.7.0.GA 抛出异常 Invalid content was found started with element 'broker-connections'

问题描述

我正在尝试在 Red Hat AMQ 7.7.0.GA 版本中使用元素“broker-connections”,但它给了我以下错误,但与 amq-broker-7.8.0 开发版本相同。同样作为来自artemis的文档,它说您可以使用它。可以在此处找到相同 https://activemq.apache.org/components/artemis/documentation/latest/amqp-broker-connections.html

的详细信息

错误

2021-04-23 08:44:29,772 ERROR [org.apache.activemq.artemis.core.client] AMQ214019: Invalid configuration: org.xml.sax.SAXParseException; cvc-complex-type.2.4.a: Invalid content was found starting with element 'broker-connections'. One of '{"urn:activemq:core":system-property-prefix,"urn:activemq:core":internal-naming-prefix,"urn:activemq:core":amqp-use-core-subscription-naming,"urn:activemq:core":resolve-protocols,"urn:activemq:core":scheduled-thread-pool-max-size,"urn:activemq:core":thread-pool-max-size,"urn:activemq:core":graceful-shutdown-enabled,"urn:activemq:core":graceful-shutdown-timeout,"urn:activemq:core":security-enabled,"urn:activemq:core":security-invalidation-interval,"urn:activemq:core":journal-lock-acquisition-timeout,"urn:activemq:core":wild-card-routing-enabled,"urn:activemq:core":management-address,"urn:activemq:core":management-notification-address,"urn:activemq:core":cluster-user,"urn:activemq:core":cluster-password,"urn:activemq:core":password-codec,"urn:activemq:core":mask-password,"urn:activemq:core":log-delegate-factory-class-name,"urn:activemq:core":jmx-management-enabled,"urn:activemq:core":jmx-domain,"urn:activemq:core":jmx-use-broker-name,"urn:activemq:core":message-counter-enabled,"urn:activemq:core":message-counter-sample-period,"urn:activemq:core":message-counter-max-day-history,"urn:activemq:core":connection-ttl-override,"urn:activemq:core":connection-ttl-check-interval,"urn:activemq:core":configuration-file-refresh-period,"urn:activemq:core":async-connection-execution-enabled,"urn:activemq:core":transaction-timeout,"urn:activemq:core":transaction-timeout-scan-period,"urn:activemq:core":message-expiry-scan-period,"urn:activemq:core":message-expiry-thread-priority,"urn:activemq:core":address-queue-scan-period,"urn:activemq:core":id-cache-size,"urn:activemq:core":persist-id-cache,"urn:activemq:core":remoting-incoming-interceptors,"urn:activemq:core":remoting-outgoing-interceptors,"urn:activemq:core":persist-delivery-count-before-delivery,"urn:activemq:core":populate-validated-user,"urn:activemq:core":reject-empty-validated-user,"urn:activemq:core":connectors,"urn:activemq:core":broadcast-groups,"urn:activemq:core":discovery-groups,"urn:activemq:core":diverts,"urn:activemq:core":queues,"urn:activemq:core":bridges,"urn:activemq:core":federations,"urn:activemq:core":ha-policy,"urn:activemq:core":cluster-connections,"urn:activemq:core":grouping-handler,"urn:activemq:core":create-bindings-dir,"urn:activemq:core":page-max-concurrent-io,"urn:activemq:core":read-whole-page,"urn:activemq:core":node-manager-lock-directory,"urn:activemq:core":create-journal-dir,"urn:activemq:core":journal-buffer-size,"urn:activemq:core":journal-sync-transactional,"urn:activemq:core":journal-sync-non-transactional,"urn:activemq:core":log-journal-write-rate,"urn:activemq:core":journal-compact-percentage,"urn:activemq:core":journal-compact-min-files,"urn:activemq:core":journal-file-open-timeout,"urn:activemq:core":server-dump-interval,"urn:activemq:core":global-max-size,"urn:activemq:core":memory-warning-threshold,"urn:activemq:core":memory-measure-interval,"urn:activemq:core":store,"urn:activemq:core":security-settings,"urn:activemq:core":broker-plugins,"urn:activemq:core":metrics-plugin,"urn:activemq:core":metrics,"urn:activemq:core":address-settings,"urn:activemq:core":resource-limit-settings,"urn:activemq:core":connector-services,"urn:activemq:core":addresses,"urn:activemq:core":network-check-list,"urn:activemq:core":network-check-URL-list,"urn:activemq:core":network-check-period,"urn:activemq:core":network-check-timeout,"urn:activemq:core":network-check-NIC,"urn:activemq:core":network-check-ping-command,"urn:activemq:core":network-check-ping6-command,"urn:activemq:core":wildcard-addresses}' is expected.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:454) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3232) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1792) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:742) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.beginNode(DOMValidatorHelper.java:277) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:244) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.jaxp.validation.DOMValidatorHelper.validate(DOMValidatorHelper.java:190) [rt.jar:1.8.0_265]
    at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:109) [rt.jar:1.8.0_265]
    at javax.xml.validation.Validator.validate(Validator.java:124) [rt.jar:1.8.0_265]
    at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:357) [artemis-core-client-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:79) [artemis-server-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.integration.Filebroker.start(Filebroker.java:61) [artemis-cli-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:84) [artemis-cli-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:153) [artemis-cli-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:101) [artemis-cli-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:128) [artemis-cli-2.13.0.redhat-00006.jar:2.13.0.redhat-00006]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_265]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_265]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_265]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_265]
    at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134) [artemis-boot.jar:2.13.0.redhat-00006]
    at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50) [artemis-boot.jar:2.13.0.redhat-00006]

java.lang.IllegalStateException: Invalid configuration
    at org.apache.activemq.artemis.utils.XMLUtil.validate(XMLUtil.java:361)
    at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:79)
    at org.apache.activemq.artemis.integration.Filebroker.start(Filebroker.java:61)
    at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:84)
    at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:153)
    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:101)
    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:128)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
    at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)

配置 我在 broker.xml 中使用这样的

<broker-connections>
            <amqp-connection uri="tcp://localhost:62716" name="my-broker" retry-interval="100" reconnect-attempts="-1" user="admin" password="admin123">
            </amqp-connection>
      </broker-connections>

解决方法

Red Hat AMQ 7.7.0 不支持 broker-connections 配置元素。这是 AMQ 7.8.0 中首次引入的新功能。