猿问

是否可以在 XInclude 属性 href 中使用 Java 系统属性变量?

我正在使用 ActiveMQ Artemis splitbroker.xml 功能并包括 xml 文件。我正在尝试使用 Java 系统属性作为 xml 文件路径。但它正在抛出错误。


这是我正在尝试的路线。


<xi:include href="${amq.conf.broker.config}/broker-security-settings.xml"/>

我已经单独定义了-Damq.conf.broker.config=/var/amq/...。


出现以下错误


[Fatal Error] :116:82: An include with href '${amq.conf.broker.config}/broker-security-settings.xml'failed, and no fallback element was found.

org.xml.sax.SAXParseException; lineNumber: 116; columnNumber: 82; An include with href '${amq.conf.broker.config}/broker-security-settings.xml'failed, and no fallback element was found.

    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)

    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)

    at org.apache.activemq.artemis.utils.XMLUtil.readerToElement(XMLUtil.java:84)

    at org.apache.activemq.artemis.utils.XMLUtil.streamToElement(XMLUtil.java:57)

    at org.apache.activemq.artemis.utils.XMLUtil.urlToElement(XMLUtil.java:66)

    at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:70)

    at org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:61)

    at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:85)

    at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:150)

    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:98)

    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:125)

    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:129)

    at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:49)



九州编程
浏览 71回答 1
1回答

繁星淼淼

ActiveMQ Artemis 目前不支持在元素中使用系统属性href替换include。然而,这似乎是一个不错的功能,所以我为它打开了一个新的 JIRA并发送了PR。
随时随地看视频慕课网APP

相关分类

Java
我要回答