You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2019/06/17 06:54:00 UTC

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

Claus Ibsen created ARTEMIS-2381:
------------------------------------

             Summary: 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: ActiveMQ-Artemis-Native
    Affects Versions: 2.9.0
            Reporter: Claus Ibsen
            Assignee: clebert suconic


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
(v7.6.3#76005)