aries-dev 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] (ARIES-1578) blueprint-cm doesn't support org.osgi.service.cm.ConfigurationPlugin
Date Fri, 24 Jun 2016 15:59:16 GMT

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

ASF GitHub Bot commented on ARIES-1578:
---------------------------------------

GitHub user paoloantinori opened a pull request:

    https://github.com/apache/aries/pull/49

    ARIES-1578 - blueprint-cm added support for org.osgi.service.cm.Conf…

    …igurationPlugin

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paoloantinori/aries fix_enc

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/aries/pull/49.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #49
    
----
commit 776ae09de8685dd2df6caa51cf74d85d40e3d44f
Author: Paolo Antinori <pantinor@redhat.com>
Date:   2016-06-23T15:46:05Z

    ENTESB-5392 - blueprint-cm added support for org.osgi.service.cm.ConfigurationPlugin

----


> blueprint-cm doesn't support org.osgi.service.cm.ConfigurationPlugin
> --------------------------------------------------------------------
>
>                 Key: ARIES-1578
>                 URL: https://issues.apache.org/jira/browse/ARIES-1578
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Paolo Antinori
>
> I have found an issue with the {{blueprint-cm}} module:
> it doesn't integrate with possible implementation of {{org.osgi.service.cm.ConfigurationPlugin}}
registered in the OSGi framework.
> That interface allows to intercept {{ConfigAdmin}} properties updates, allowing to manipulate
their content without persisting them anywhere.
> A sample usacase can be a decrypt component that decrypts values on the fly.
> The issue on {{blueprint-cm}} is with the current implementation of {{CmPropertyPlaceholder}}:
> https://github.com/apache/aries/blob/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java#L130-L140
> {code:java}
> public void updated(Dictionary props) {
>     if ("reload".equalsIgnoreCase(updateStrategy) && !equals(properties, props))
{
>         LOGGER.debug("Configuration updated for pid={}", persistentId);
>         // Run in a separate thread to avoid re-entrance
>         new Thread() {
>             public void run() {
>                 blueprintContainer.reload();
>             }
>         }.start();
>     }
> {code}
>  {{updated()}} is correctly forwarded the {{props}} param, containing eventual manipulation
of registered {{ConfigurationPlugin}} instances, but that content is discarded. The event
will trigger a reload of the whole blueprint context, that will fetch the configuration from
{{ConfigAdmin}} directly, thus bypassing the plugin behavior.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message