Skip to content

NIFI-15647 Add SSL configuration support for ActiveMQ Artemis JMS connections#10936

Open
Chaffelson wants to merge 1 commit intoapache:mainfrom
Chaffelson:nifi-15647
Open

NIFI-15647 Add SSL configuration support for ActiveMQ Artemis JMS connections#10936
Chaffelson wants to merge 1 commit intoapache:mainfrom
Chaffelson:nifi-15647

Conversation

@Chaffelson
Copy link

Summary

When an SSLContextService is configured on a JMSConnectionFactoryProvider using ActiveMQ Artemis, the trust store and key store settings are silently ignored. This causes AMQ219007 connection failures against SSL-enabled Artemis brokers.

Unlike Classic ActiveMQ which exposes bean-style setters (setTrustStore, etc.), Artemis parses SSL configuration from query-string parameters on the broker URL (sslEnabled, trustStorePath, trustStorePassword, etc.).

Because the Artemis package prefix (org.apache.activemq.artemis) matches the existing Classic ActiveMQ check (org.apache.activemq), the handler falls into the wrong branch and the reflection-based setters silently fail.

This change adds Artemis-specific handling in JMSConnectionFactoryHandler that augments the broker URL with SSL transport parameters from the SSLContextService. The Artemis check is ordered before the Classic ActiveMQ check to ensure correct prefix matching.

Changes

  • JMSConnectionFactoryHandler.java: Added configureArtemisSSL() method and Artemis-specific branch in SSL configuration section
  • JMSConnectionFactoryProviderTest.java: Added unit tests for Artemis SSL URL construction

Testing

  • Unit tests for Artemis SSL URL construction (new URL, existing sslEnabled param, trust-only and trust+key store scenarios)
  • Validated end-to-end against ActiveMQ Artemis 2.43.0 with SSL-only acceptor, confirming successful JMS message consumption over SSL using the supplied trust store

Related Issues

  • See also NIFI-13522 (related but distinct: ClassCastException from using wrong factory class)

@Chaffelson
Copy link
Author

Also should complete https://issues.apache.org/jira/browse/NIFI-13522

…nections

JMSConnectionFactoryHandler now augments the broker URL with SSL transport
parameters (sslEnabled, trustStorePath, keyStorePath, etc.) when an
SSLContextService is configured and the connection factory implementation
is ActiveMQ Artemis. Previously, Artemis SSL settings were silently ignored
because Artemis does not expose bean-style SSL setters like Classic ActiveMQ.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant