[
https://issues.apache.org/jira/browse/ARTEMIS-2310?focusedWorklogId=232887&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-232887
]
ASF GitHub Bot logged work on ARTEMIS-2310:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 25/Apr/19 14:08
Start Date: 25/Apr/19 14:08
Worklog Time Spent: 10m
Work Description: jbertram commented on pull request #2640: ARTEMIS-2310
support system prop sub in xincludes
URL: https://github.com/apache/activemq-artemis/pull/2640
Historically the broker has read the XML configuration file as a String,
substituted system properties, and then parsed that String into an XML
document. However, this method won't substitute system properties in the
files which are imported via xinclude. In order to substitue system
properties in xincluded files the substitution needs to be performed
after the file is parsed into an XML document. This commit implements
that change and refactors the XMLUtil class a bit to eliminate redundant
code, obsolete comments, etc.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 232887)
Time Spent: 10m
Remaining Estimate: 0h
> Variable substitution does not happen with xinclude'd sub files
> ---------------------------------------------------------------
>
> Key: ARTEMIS-2310
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2310
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.7.0
> Reporter: SL
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The variable substitution mechanism which set values from system properties
> only works for the root configuration document.
> when fragments are imported from xinclude, the placeholder stays untouched
> sample
> {code:xml|title=test.broker.xml}
> (...)
> <acceptors xmlns="urn:activemq:core">
> <acceptor name="in-vm">vm://1</acceptor>
> <acceptor
> name="netty-ssl">tcp://localhost:6161?protocols=CORE,OPENWIRE,AMQP;sslEnabled=true;needClientAuth=true;keyStorePath=localhost.jks;keyStorePassword=*******;trustStorePath=CA.jks;trustStorePassword=*********;needClientAuth=true;forceSSLParameters=true;enabledCipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384;enabledProtocols=${tls.protocols}</acceptor>
> </acceptors>
> (...)
> {code}
> produces
> {noformat}
> 15:57:42.487 DEBUG o.a.activemq.artemis.utils.XMLUtil - replacing
> ${tls.protocols} with TLSv1.3,TLSv1.2
> 15:57:42.965 DEBUG o.a.a.a.c.s.impl.ActiveMQServerImpl - Starting server
> ActiveMQServerImpl::
> {noformat}
> when replaced with
> {code:xml|title=test-broker.xml}
> <xi:include href="test-acceptors.xml"/>
> {code}
> {code:xml|title=test-acceptors.xml}
> <acceptors xmlns="urn:activemq:core">
> <acceptor name="in-vm">vm://1</acceptor>
> <acceptor
> name="netty-ssl">tcp://localhost:6161?protocols=CORE,OPENWIRE,AMQP;sslEnabled=true;needClientAuth=true;keyStorePath=localhost.jks;keyStorePassword=********;trustStorePath=CA.jks;trustStorePassword=*******;needClientAuth=true;forceSSLParameters=true;enabledCipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384;enabledProtocols=${tls.protocols}</acceptor>
> </acceptors>
> {code}
> produces
> {noformat}
> 15:59:44.953 ERROR ArtemisTest - Artemis failed to start
> java.lang.RuntimeException: Illegal character in query at index 1067:
> tcp://localhost:6161?protocols=CORE,OPENWIRE,AMQP&sslEnabled=true&needClientAuth=true&keyStorePath=localhost.jks&keyStorePassword=********&trustStorePath=CA.jks&trustStorePassword=********&needClientAuth=true&forceSSLParameters=true&enabledCipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384&enabledProtocols=${tls.protocols}
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)