Hi Jean,

I sent the email too quick.

I need to publish my spring beans as OSGI services, so that I would be able
to use them from other bundles which are also spring based bundles. Why I
need spring? Because my platform is built on top of spring framework.
Would this  be possible? Or do I have to change all my configuration to
OSGI beans?

Andrei

On Tue, Sep 14, 2021 at 12:11 PM Andrei Petru Mura <[email protected]>
wrote:

> Hi Jean,
>
> I need to publish my spring beans as OSGI services, so that I would be
> able to use them from other bundles which are also spring based. Why I need
> spring? Because my platform is built on top of it. Would this be
>
> On Mon, Sep 13, 2021 at 3:14 PM Jean-Baptiste Onofré <[email protected]>
> wrote:
>
>> Hi Andrei,
>>
>> OK, let me try to summarize.
>>
>> spring-dm is a spring extension allowing you to use OSGi services in
>> spring.
>>
>> For instance, you use spring-dm to have <osgi:service/> or
>> <osgi:reference/> elements.
>>
>> If you don't need this, you can use spring directly in Karaf (not need
>> to use blueprint).
>>
>> If you want to use blueprint <service/> and <reference/> (blueprint is
>> the specification coming from spring-dm), then, you need blueprint only
>> (no need to use spring).
>>
>> A bean can be used in blueprint the same way you do in spring:
>>
>> <bean id="foo" class="..."/>
>>
>> So, migrating from spring-dm to blueprint is pretty straight forward
>> (change namespace and <osgi:*/>).
>>
>> Now, about the blueprint-spring-extender, it allows you to use some
>> spring elements in blueprint XML (like <transaction/>, etc).
>>
>> Regards
>> JB
>>
>> On 13/09/2021 11:40, Andrei Petru Mura wrote:
>> > I'm trying to upgrade my Karaf 4.0.4 to 4.3.2. In 4.0.4, my bundles are
>> > deployed as spring apps loaded by spring-dm. In karaf 4.3.2 I have no
>> > longer spring-dm. I think the only way to do this, is via blueprint:
>> > Aries or Gemini. But as Aries is the default in Karaf, I would go for
>> Aries.
>> > 1. Do you have a specific scenario on how I can start my spring bundles
>> > other then blueprint? Or using blueprint?
>> > 2. If I have no other option than to switch to blueprint, do I have to
>> > replace my spring beans with Java beans?
>> >
>> > Thanks,
>> > Mura Andrei
>> >
>> > On Mon, Sep 13, 2021 at 12:33 PM Jean-Baptiste Onofré <[email protected]
>> > <mailto:[email protected]>> wrote:
>> >
>> >     I'm not sure I follow what you are trying ;)
>> >
>> >     It seems you are mixing CamelContext Spring and Blueprint.
>> >
>> >     If you use Spring CamelContext you don't need blueprint.
>> >
>> >     If you want to use blueprint (eventually with the extender), you can
>> >     use
>> >     blueprint namespace.
>> >
>> >     So, my point is: what namespace do you want to use ? spring or
>> >     blueprint ?
>> >
>> >     Regards
>> >     JB
>> >
>> >     On 13/09/2021 11:30, Jean-Baptiste Onofré wrote:
>> >      > The aries-blueprint-spring extender is to support spring context.
>> >     So as
>> >      > you use spring camel context in your camel bundle, it's the one
>> >     involved.
>> >      >
>> >      > Why not using camel-blueprint namespace ?
>> >      >
>> >      > <camelContext xmlns="http://camel.apache.org/schema/blueprint
>> >     <http://camel.apache.org/schema/blueprint>"/>
>> >      >
>> >      > and using OSGI-INF/blueprint for your loading ?
>> >      >
>> >      > Regards
>> >      > JB
>> >      >
>> >      > On 13/09/2021 11:04, Andrei Petru Mura wrote:
>> >      >> Hi Jean,
>> >      >>
>> >      >> Do you think this can be related to spring loading? If I modify
>> the
>> >      >> context file to this:
>> >      >>
>> >      >> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >> <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>">
>> >      >> </blueprint>
>> >      >>
>> >      >> I get this:
>> >      >> Unable to start container for blueprint bundle
>> >      >> *my-bundle/version.of.the.bundle*
>> >      >> java.lang.RuntimeException:
>> >      >>
>> >
>>  org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
>> >
>> >      >> Configuration problem: Failed to import bean definitions from
>> URL
>> >      >> location
>> >      >>
>> >
>>  
>> [bundle://6f3b550d-56d9-4050-9a00-265a618c1c72_120.0:0/META-INF/spring/camel-context.xml]
>> >
>> >      >>
>> >      >> Offending resource: URL
>> >      >>
>> >
>>  
>> [file:/apache-karaf/data/tmp/blueprint-spring-extender300655750637593520.xml];
>> >
>> >      >> nested exception is
>> >      >>
>> >
>>  org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
>> >      >> Line 11 in XML document from URL
>> >      >>
>> >
>>  
>> [bundle://6f3b550d-56d9-4050-9a00-265a618c1c72_120.0:0/META-INF/spring/camel-context.xml]
>> >
>> >      >> is invalid; nested exception is org.xml.sax.SAXParseException;
>> >      >> lineNumber: 11; columnNumber: 63; cvc-elt.1: Cannot find the
>> >      >> declaration of element 'blueprint'.
>> >      >>
>> >      >> So, it seems to me the loading is made by spring, not by aries.
>> >     Below
>> >      >> are my spring related installed features (I put only the
>> installed
>> >      >> ones for the sake of readability):
>> >      >>
>> >      >> karaf@root()> feature:list | grep -i spring
>> >      >> spring                                   x 5.3.5.1          x
>> >      >>  x Started     x spring-4.3.2                      x Spring
>> >     5.3.x support
>> >      >> spring-jdbc                              x 5.3.5.1          x
>> >      >>  x Started     x spring-4.3.2                      x Spring
>> >     5.3.x JDBC
>> >      >> support
>> >      >> spring-orm                               x 5.3.5.1          x x
>> >      >>  x Started     x spring-4.3.2                      x Spring
>> >     5.3.x ORM
>> >      >> supportrt
>> >      >> spring-tx                                x 5.3.5.1          x
>> >      >>  x Started     x spring-4.3.2                      x Spring
>> 5.3.x
>> >      >> Transaction (TX) support
>> >      >> aries-blueprint-spring                   x 0.0.0            x x
>> >      >>  x Started     x spring-4.3.2                      x
>> >      >> camel-spring                             x 2.25.4           x x
>> >      >>  x Started     x camel-2.25.4                      x
>> >      >>
>> >      >> Anyway, taking in account that aries-blueprint-spring is the one
>> >     which
>> >      >> starts the loading, I'm a bit confused.
>> >      >> Any guidance would be appreciated. Thanks.
>> >      >>
>> >      >> Andrei
>> >      >>
>> >      >> On Mon, Sep 13, 2021 at 11:50 AM Andrei Petru Mura
>> >      >> <[email protected] <mailto:[email protected]>
>> >     <mailto:[email protected] <mailto:[email protected]>>> wrote:
>> >      >>
>> >      >>     Hi Jean,
>> >      >>
>> >      >>     Yes, I do.
>> >      >>
>> >      >>     karaf@root()> feature:list | grep -i blueprint
>> >      >>     aries-blueprint-spring                   x 0.0.0
>>  x x
>> >      >>         x Started     x spring-4.3.2                      x
>> >      >>     camel-blueprint                          x 2.25.4
>> x x
>> >      >>         x Started     x camel-2.25.4                      x
>> >      >>     aries-blueprint                          x 4.3.2
>>  x
>> >      >>    x Started     x standard-4.3.2                    x Aries
>> >     Blueprint
>> >      >>     jaas-deployer                            x 4.3.2
>>  x
>> >      >>    x Uninstalled x standard-4.3.2                    x Allow
>> >      >>     support of blueprint JAAS configuration in
>> >      >>     blueprint-web                            x 4.3.2
>>  x
>> >      >>    x Uninstalled x standard-4.3.2                    x Provides
>> an
>> >      >>     OSGI-aware Servlet ContextListener fo
>> >      >>
>> >      >>     Andrei
>> >      >>
>> >      >>     On Mon, Sep 13, 2021 at 11:47 AM Jean-Baptiste Onofré
>> >      >>     <[email protected] <mailto:[email protected]>
>> >     <mailto:[email protected] <mailto:[email protected]>>> wrote:
>> >      >>
>> >      >>         Hi Andrei,
>> >      >>
>> >      >>         do you have aries-blueprint feature installed ?
>> >      >>
>> >      >>         Aries Blueprint provides the namespace handler.
>> >      >>
>> >      >>         You can find the feature/example in Karaf repo:
>> >      >>
>> >      >>
>> >
>> https://github.com/apache/karaf/tree/main/examples/karaf-camel-example/karaf-camel-example-blueprint
>> >     <
>> https://github.com/apache/karaf/tree/main/examples/karaf-camel-example/karaf-camel-example-blueprint
>> >
>> >
>> >      >>
>> >      >>
>> >      >>
>> >     <
>> https://github.com/apache/karaf/tree/main/examples/karaf-camel-example/karaf-camel-example-blueprint
>> >     <
>> https://github.com/apache/karaf/tree/main/examples/karaf-camel-example/karaf-camel-example-blueprint
>> >>
>> >
>> >      >>
>> >      >>
>> >      >>         Regards
>> >      >>         JB
>> >      >>
>> >      >>         On 13/09/2021 10:44, Andrei Petru Mura wrote:
>> >      >>          > Hi all,
>> >      >>          >
>> >      >>          > I'm trying to get ready a bundle in Karaf 4.3.2. In
>> >     karaf I
>> >      >> have
>> >      >>          > installed camel, spring and aries by default (along
>> it's
>> >      >>          > aries-blueprint-spring feature).
>> >      >>          > My blueprint XML file looks like below (I reduced it
>> to
>> >      >> minimum).
>> >      >>          >
>> >      >>          > <blueprint
>> >     xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>
>> >      >>          > <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>>"
>> >      >>          >
>> >     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>> >     <http://www.w3.org/2001/XMLSchema-instance>
>> >      >>         <http://www.w3.org/2001/XMLSchema-instance
>> >     <http://www.w3.org/2001/XMLSchema-instance>>
>> >      >>          > <http://www.w3.org/2001/XMLSchema-instance
>> >     <http://www.w3.org/2001/XMLSchema-instance>
>> >      >>         <http://www.w3.org/2001/XMLSchema-instance
>> >     <http://www.w3.org/2001/XMLSchema-instance>>>"
>> >      >>          >
>> >      >>          >
>> >      >>
>> >      >>
>> >     xmlns:cm="
>> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 <
>> http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0>
>> >      >>
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0>>
>> >      >>          >
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0>
>> >      >>
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0
>> >     <http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0>>>"
>> >      >>          >          xsi:schemaLocation="
>> >      >>          > http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>
>> >      >>          > <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>>
>> >      >>          >
>> >     http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>> >      >>
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>>
>> >      >>          >
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>
>> >      >>
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd>>>
>> >      >>          >          ">
>> >      >>          > </blueprint>
>> >      >>          >
>> >      >>          > When I try to start the bundle, I get this in logs:
>> >      >>          > INFO [pool-8-thread-3] Blueprint bundle
>> >      >>          > *my-bundle/version.of.the.bundle* is waiting for
>> >     namespace
>> >      >>         handlers
>> >      >>          > [http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>
>> >      >>          > <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>
>> >      >>         <http://www.osgi.org/xmlns/blueprint/v1.0.0
>> >     <http://www.osgi.org/xmlns/blueprint/v1.0.0>>>]
>> >      >>          >
>> >      >>          > Does anyone have any idea how I can fix this?
>> >      >>          >
>> >      >>          > Thanks,
>> >      >>          > Andrei
>> >      >>
>> >
>>
>

Reply via email to