You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "clebert suconic (Jira)" <ji...@apache.org> on 2019/08/26 15:29:02 UTC

[jira] [Closed] (ARTEMIS-2381) ActiveMQJMSConnectionFactory - Allow to configure brokerURL via setter

     [ https://issues.apache.org/jira/browse/ARTEMIS-2381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

clebert suconic closed ARTEMIS-2381.
------------------------------------

> ActiveMQJMSConnectionFactory - Allow to configure brokerURL via setter
> ----------------------------------------------------------------------
>
>                 Key: ARTEMIS-2381
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2381
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.9.0
>            Reporter: Claus Ibsen
>            Assignee: clebert suconic
>            Priority: Major
>             Fix For: 2.10.0
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> When setting up a ConnectionFactory for Artemis via the artemis-client, it would be great if we can configure this via getter/setter style, which allows to configure this nicely via properties such as from application.properties etc.
> In Apache Camel we want to be able to do
> {code}
> camel.component.jms.connectionFactory=#class:org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory
> camel.component.jms.connectionFactory.brokerURL=tcp://localhost:61616
> {code}
> Notice how we in the 1st line refer to which class to use (creates via default constructor) and then 2nd line sets the brokerURL, and the following can be used to set other properties such as username and password etc.
> However as setBrokerURL is private we cannot do this
> {code}
>     private void setBrokerURL(String brokerURL) {
>         ConnectionFactoryParser cfParser = new ConnectionFactoryParser();
>         try {
>             URI uri = cfParser.expandURI(brokerURL);
>             this.serverLocator = ServerLocatorImpl.newLocator(uri);
>             cfParser.populateObject(uri, this);
>         } catch (Exception var4) {
>             throw new RuntimeException(var4.getMessage(), var4);
>         }
>         if (this.getUser() == null) {
>             this.setUser(DefaultConnectionProperties.DEFAULT_USER);
>         }
>         if (this.getPassword() == null) {
>             this.setPassword(DefaultConnectionProperties.DEFAULT_PASSWORD);
>         }
>     }
> {code}
> Would it be possible to make this method public?



--
This message was sent by Atlassian Jira
(v8.3.2#803003)