[
https://issues.apache.org/jira/browse/ARTEMIS-2412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16890223#comment-16890223
]
ASF subversion and git services commented on ARTEMIS-2412:
----------------------------------------------------------
Commit 7f4f4a5021ca856f9cf35a6cb7cc03dfb5589abb in activemq-artemis's branch
refs/heads/master from Maarten Boekhold
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=7f4f4a5 ]
ARTEMIS-2412 Allow CF configuration through JNDI references
Most connection related properties, like the SSL ones, currently
have to be encoded in the brokerURL. When configuring connections
purely through JNDI bindings, this is not always desireable.
This commit allows one to configure all properties included
in TransportConstants.ALLOWABLE_CONNECTOR_KEYS to be listed separately
in the JNDI bindings. These properties are then zipped into any
provided brokerURL. For properties that appear in both places,
the one specified separately in the JNDI bindings takes priority.
This commit should not affect any configuration other than those
configure through JNDIReferenceFactory.
> Full connection configuration through JNDI
> ------------------------------------------
>
> Key: ARTEMIS-2412
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2412
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Affects Versions: 2.9.0
> Reporter: Maarten Boekhold
> Priority: Minor
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> With the native Artemis JMS classes, eg
> {{org.apache.activemq.artemis.jndi.JNDIReferenceFactory}}, it is not possible
> to configure the SSL parameters through JNDI properties. It's only possible
> by "stuffing" everything inside the {{brokerURL}}, which isn't nice.
> To put into context, with the "plain ol' ActiveMQ" {{JNDIReferenceFactory}},
> you can do (borrowing from the Tomcat syntax to define a JNDI resource):
> {code:java}
> <Resource name="jms/CONNECTION-FACTORY" auth="Container"
> type="org.apache.activemq.ActiveMQSslConnectionFactory"
> description="JMS Connection Factory"
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
> brokerURL="ssl://localhost:14617"
> trustStore="/pathto/client.ts"
> keyStore="/path/to/client.ks"
> trustStorePassword="trustPass"
> keyStorePassword="keyPass"/>{code}
> The equivalent is not possible with the Artemis native JMS API. Instead you
> need to encode things inside the {{brokerURL}} (which btw is poorly
> documented on which options are available).
> The request is to enhance
> {{org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory}} with
> additional "setter" methods that allow you to specify parameters such as
> "ssl-enable", "trustStore", "keyStore", "trustStorePassword",
> "keyStorePassword". The "buildFromProperties()" method should then take care
> of passing the values in the JNDI binding to the
> {{ActiveMQConnectionFactory}}, which will then use it to correctly initialize
> the connection.
> Eg. the expectation is to be able to do the following to configure an Artemis
> "native" ActiveMQConnectionFactory for SSL:
> {code:java}
> <Resource name="jms/CONNECTION-FACTORY" auth="Container"
>
> type="org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory"
> description="JMS Connection Factory"
> factory="org.apache.activemq.artemis.jndi.JNDIReferenceFactory"
> brokerURL="tcp://localhost:14617"
> ssl-enable="true"
> trustStore="/pathto/client.ts"
> keyStore="/path/to/client.ks"
> trustStorePassword="trustPass"
> keyStorePassword="keyPass"/>
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)