You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2015/02/04 15:26:35 UTC

[jira] [Commented] (AMQ-5554) Proper support for the blueprint namespace in activemq-blueprint

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

Hadrian Zbarcea commented on AMQ-5554:
--------------------------------------

The way this issue was originally formulated targets just the consequence of another issue (hence the change of the issue title).

Currently, activemq-blueprint exposes a service that allows one to deploy an activemq broker using blueprint:
{code}
    <service id="ActiveMQXBeanNamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
        <service-properties>
            <entry key="osgi.service.blueprint.namespace" value="http://activemq.apache.org/schema/core"/>
        </service-properties>
        <bean class="org.apache.xbean.blueprint.context.impl.XBeanNamespaceHandler">
            <argument value="http://activemq.apache.org/schema/core"/>
            <argument value="activemq.xsd"/>
            <argument ref="blueprintBundle"/>
            <argument value="META-INF/services/org/apache/xbean/spring/http/activemq.apache.org/schema/core"/>
        </bean>
    </service>
{code}

All good, except the last argument points to the *spring* namespace handler. The side effect is that where extensions are provided inside the <broker> element, as is the case for <plugins> when we can add a <bean> plugin, the bean should be in the spring namespace and all fails.

After talking to [~jbonofre], we see two solutions:
1. Add a separate namespace for plugins (http://activemq.apache.org/schema/plugins/{blueprint|spring})
2. Provide spring and blueprint specific activemq-osgi bundles with separate namespaces (http://activemq.apache.org/schema/{blueprint|spring}, note the absence of 'plugins'). The spring namespace would be synonymous with 'core' and core would be supported for a while but deprecated.

The second solution is kinda similar to what we did in camel, except Camel has its own namespace handler. Our preference would be to  go with the 2nd option.

> Proper support for the blueprint namespace in activemq-blueprint
> ----------------------------------------------------------------
>
>                 Key: AMQ-5554
>                 URL: https://issues.apache.org/jira/browse/AMQ-5554
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: OSGi/Karaf
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> It would be great to support blueprint <bean/> directly in broker <plugins/> when using activemq-blueprint.
> It will allow users to do configuration like:
> {code}
> <plugins>
> <bean class="my.plugin" xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"/>
> </plugins>
> {code}



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