activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1252) Add service loading of password codec to obtain its implementation from the application’s root context, rather than using a class loader
Date Mon, 26 Jun 2017 18:54:00 GMT

    [ https://issues.apache.org/jira/browse/ARTEMIS-1252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16063600#comment-16063600
] 

ASF GitHub Bot commented on ARTEMIS-1252:
-----------------------------------------

Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1366#discussion_r124090489
  
    --- Diff: artemis-commons/src/main/java/org/apache/activemq/artemis/utils/PasswordMaskingUtil.java
---
    @@ -108,22 +110,29 @@ public static HashProcessor getHashProcessor() {
     
           // semi colons
           String[] parts = codecDesc.split(";");
    -
           if (parts.length < 1)
              throw new ActiveMQException(ActiveMQExceptionType.ILLEGAL_STATE, "Invalid PasswordCodec
value: " + codecDesc);
     
           final String codecClassName = parts[0];
     
           // load class
    -      codecInstance = AccessController.doPrivileged(new PrivilegedAction<SensitiveDataCodec<String>>()
{
    -         @Override
    -         public SensitiveDataCodec<String> run() {
    -            ClassLoader loader = Thread.currentThread().getContextClassLoader();
    +      codecInstance = AccessController.doPrivileged((PrivilegedAction<SensitiveDataCodec<String>>)
() -> {
    +         ServiceLoader<SensitiveDataCodec> serviceLoader = ServiceLoader.load(SensitiveDataCodec.class,
PasswordMaskingUtil.class.getClassLoader());
    --- End diff --
    
    Looks like a nice feature.. but no tests?


> Add service loading of password codec to obtain its implementation from the application’s
root context, rather than using a class loader
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1252
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1252
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>    Affects Versions: 1.5.5, 2.1.0
>            Reporter: Armand Roelens
>
> The current implementation for retrieving a custom password codec forces every OSGI bundle
requiring the password codec (which can be every bundle with its own client that attempts
to connect to the broker) to import the package containing the custom password codec.
> If the password codec is instead service loaded, none of the OSGI bundles need to import
the package containing the password codec. That password codec package does need to advertise
its implementation via a configuration file, but that change is limited to just that package.

> Add service loading of the custom password codec, and as a fallback, if no service is
found, maintain the current implementation of using normal class loading.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message