[ 
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)

Reply via email to